summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-04-14 12:03:04 +0000
committeriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-04-14 12:03:04 +0000
commitfd0c0e03da0582485f27b4d3719d07b247285236 (patch)
treef054c4887d2b01bdc014b6b0428396074b3330e9
parent4188231a388606a1f0dde08e23b91344bc508a4e (diff)
downloadATCD-fd0c0e03da0582485f27b4d3719d07b247285236.tar.gz
Merged revisions 81335-81336,81338,81340-81341,81345-81350,81352 via svnmerge from
https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk/ACE ........ r81335 | iliyan | 2008-04-10 20:53:36 -0500 (Thu, 10 Apr 2008) | 1 line ChangeLogTag: Fri Apr 11 01:51:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com> ........ r81336 | johnnyw | 2008-04-11 01:50:58 -0500 (Fri, 11 Apr 2008) | 1 line added missing Id ........ r81338 | iliyan | 2008-04-11 10:52:40 -0500 (Fri, 11 Apr 2008) | 1 line ChangeLogTag: Fri Apr 11 15:26:08 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com> ........ r81340 | schmidt | 2008-04-11 13:53:39 -0500 (Fri, 11 Apr 2008) | 1 line ChangeLogTag: ........ r81341 | schmidt | 2008-04-11 13:53:56 -0500 (Fri, 11 Apr 2008) | 1 line ChangeLogTag: ........ r81345 | johnnyw | 2008-04-13 02:28:11 -0500 (Sun, 13 Apr 2008) | 1 line Sun Apr 13 07:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> ........ r81346 | iliyan | 2008-04-13 20:57:01 -0500 (Sun, 13 Apr 2008) | 1 line ChangeLogTag: Mon Apr 14 01:56:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com> ........ r81347 | johnnyw | 2008-04-14 03:29:17 -0500 (Mon, 14 Apr 2008) | 1 line ........ r81348 | johnnyw | 2008-04-14 04:00:32 -0500 (Mon, 14 Apr 2008) | 1 line Mon Apr 14 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> ........ r81349 | johnnyw | 2008-04-14 04:55:15 -0500 (Mon, 14 Apr 2008) | 1 line Mon Apr 14 09:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> ........ r81350 | johnnyw | 2008-04-14 05:09:54 -0500 (Mon, 14 Apr 2008) | 1 line ........ r81352 | johnnyw | 2008-04-14 06:10:59 -0500 (Mon, 14 Apr 2008) | 1 line Mon Apr 14 11:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> ........
-rw-r--r--ACE/ChangeLog87
-rw-r--r--ACE/NEWS11
-rw-r--r--ACE/ace/Codeset_Registry.h2
-rw-r--r--ACE/ace/Makefile.am1
-rw-r--r--ACE/ace/OS_NS_Thread.cpp2
-rw-r--r--ACE/ace/Service_Config.cpp55
-rw-r--r--ACE/ace/Service_Config.h69
-rw-r--r--ACE/ace/Service_Config.inl4
-rw-r--r--ACE/ace/Shared_Object.h5
-rw-r--r--ACE/ace/Svc_Conf_Token_Table.h2
-rw-r--r--ACE/ace/Svc_Conf_Tokens.h13
-rw-r--r--ACE/ace/svcconf.mpb2
-rw-r--r--ACE/docs/ACE-bug-process.html20
-rw-r--r--ACE/docs/ACE-development-process.html43
-rw-r--r--ACE/docs/Download.html33
-rw-r--r--ACE/tests/Bug_2980_Regression_Test.cpp124
-rw-r--r--ACE/tests/run_test.lst2
-rw-r--r--ACE/tests/tests.mpc4
18 files changed, 316 insertions, 163 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index f5448d3ef8c..e59ed37e812 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,90 @@
+Mon Apr 14 11:08:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Threading_Helper_T.cpp:
+ Removed
+
+ * ace/Makefile.am:
+ Removed file above
+
+ * ace/Service_Config.{h,cpp,inl}:
+ Changed the template instantiations like we have for Atomic_Op.
+
+Mon Apr 14 09:54:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * tests/tests.mpc:
+ Don't build 2980 with wchar enabled and added empty resource
+ file section
+
+Mon Apr 14 08:59:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Threading_Helper_T.cpp:
+ Added new file with the threading helper template code. This resolves
+ the strange link problems with BCB. This file is included in the
+ Service_Config.h file
+
+ * ace/Makefile.am:
+ Added new files
+
+ * ace/Service_Config.{h,cpp,inl}:
+ Include the new Threading_Helper_T.cpp and removed the implementation
+ from these files
+
+ * tests/tests.mpc:
+ Added missing include for bug 2980
+
+ * ace/Codeset_Registry.h:
+ Fixed typo in comment
+
+ * ace/Shared_Object.h:
+ Doxygen changes
+
+Mon Apr 14 01:56:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Service_Config.h:
+ * ace/Service_Config.inl:
+ * ace/Service_Config.cpp:
+
+ Moved ACE_Threading_Helper ctor and dtor implementaion
+ inline. This makes them available to code that indirectly
+ references the threadkey_ member (like, in examples/). This
+ should resolve link-time problems with borland compilers.
+
+ * tests/Bug_2980_Regression_Test.cpp (unloadDll):
+
+ Fixing warnings about missing extern "C" qualifier in call to
+ pthread_create.
+
+Sun Apr 13 07:27:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_NS_Thread.cpp (_vx_call_entry):
+ Set the sc::current before calling main. This resolves the
+ sc asserts with vxworks kernel mode. Thanks to Iliyan
+ for suggesting this addition
+
+Fri Apr 11 17:36:34 UTC 2008 Douglas C. Schmidt <schmidt@dre.vanderbilt.edu>
+
+ * docs/Download.html:
+ * docs/ACE-development-process.html:
+ * docs/ACE-bug-process.html: Updated these files to use the major,
+ minor, and micro release terminology.
+
+Fri Apr 11 15:26:08 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * tests/Bug_2980_Regression_Test.cpp:
+ * tests/run_test.lst:
+
+ Including config-lite.h: the driver is non-ACE but it still
+ needs to know platform-specific stuff, like threads usage,
+ etc.
+
+Fri Apr 11 01:51:13 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/svcconf.mpb:
+
+ Fixing a fuzz build warning of a missing $Id. Also, not all
+ make(1)'s have $(MV), so changing mpb to use just "mv"
+
Thu Apr 10 22:32:58 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
* ace/Service_Config.h:
diff --git a/ACE/NEWS b/ACE/NEWS
index 25626c11b4f..ec017493a7c 100644
--- a/ACE/NEWS
+++ b/ACE/NEWS
@@ -6,6 +6,17 @@ PLANNED MAJOR CHANGES "SOMETIME IN THE FUTURE" (i.e., exact beta not known)
USER VISIBLE CHANGES BETWEEN ACE-5.6.3 and ACE-5.6.4
====================================================
+. Reworked the relationship between ACE_Service_Config and
+ ACE_Service_Gestalt
+
+. Improved autoconf support
+
+. Improved AIX with gcc support
+
+. Improved OpenVMS suppor
+
+. Improved VxWorks support
+
USER VISIBLE CHANGES BETWEEN ACE-5.6.2 and ACE-5.6.3
====================================================
diff --git a/ACE/ace/Codeset_Registry.h b/ACE/ace/Codeset_Registry.h
index eb8d013d4af..331fcff37da 100644
--- a/ACE/ace/Codeset_Registry.h
+++ b/ACE/ace/Codeset_Registry.h
@@ -14,7 +14,7 @@
* via translators and the CDR streams, primarily in TAO, but this capability
* is not restricted to CORBA.
*
- * The emulated functionalty supports Open Group RFC #40, currently RFC 40.2,
+ * The emulated functionality supports Open Group RFC #40, currently RFC 40.2,
* www.opengroup.org/tech/rfc/rfc40.2.html
*
* @author Phil Mesnier <mesnier_p@ociweb.com>
diff --git a/ACE/ace/Makefile.am b/ACE/ace/Makefile.am
index b70b6873ce5..cf0bd5ab80a 100644
--- a/ACE/ace/Makefile.am
+++ b/ACE/ace/Makefile.am
@@ -980,6 +980,7 @@ nobase_include_HEADERS += \
Svc_Conf.h \
Svc_Conf_Lexer.h \
Svc_Conf_Tokens.h \
+ Svc_Conf_Token_Table.h \
Svc_Handler.cpp \
Svc_Handler.h \
Synch.h \
diff --git a/ACE/ace/OS_NS_Thread.cpp b/ACE/ace/OS_NS_Thread.cpp
index eb5087bb8ee..f550c5fd7e6 100644
--- a/ACE/ace/OS_NS_Thread.cpp
+++ b/ACE/ace/OS_NS_Thread.cpp
@@ -5045,6 +5045,7 @@ ACE_END_VERSIONED_NAMESPACE_DECL
#if defined (ACE_VXWORKS) && !defined (__RTP__)
# include /**/ <usrLib.h> /* for ::sp() */
# include /**/ <sysLib.h> /* for ::sysClkRateGet() */
+# include "ace/Service_Config.h"
// This global function can be used from the VxWorks shell to pass
// arguments to a C main () function.
@@ -5285,6 +5286,7 @@ static int _vx_call_rc = 0;
static int
_vx_call_entry(FUNCPTR entry, int argc, char* argv[])
{
+ ACE_Service_Config::current (ACE_Service_Config::global());
_vx_call_rc = entry (argc, argv);
return _vx_call_rc;
}
diff --git a/ACE/ace/Service_Config.cpp b/ACE/ace/Service_Config.cpp
index 37d8dcf4ffa..c4bd580b70a 100644
--- a/ACE/ace/Service_Config.cpp
+++ b/ACE/ace/Service_Config.cpp
@@ -30,7 +30,12 @@ ACE_RCSID (ace,
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <>
+ACE_Threading_Helper<ACE_Thread_Mutex>::~ACE_Threading_Helper ()
+{
+ ACE_OS::thr_key_detach (this->key_, 0);
+ ACE_OS::thr_keyfree (this->key_);
+}
+
ACE_Threading_Helper<ACE_Thread_Mutex>::ACE_Threading_Helper ()
: key_ (ACE_OS::NULL_key)
{
@@ -46,26 +51,7 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::ACE_Threading_Helper ()
}
}
-template <>
-ACE_Threading_Helper<ACE_Null_Mutex>::ACE_Threading_Helper ()
- : key_ (ACE_OS::NULL_key)
-{
-}
-
-
-template <>
-ACE_Threading_Helper<ACE_Thread_Mutex>::~ACE_Threading_Helper ()
-{
- ACE_OS::thr_key_detach (this->key_, 0);
- ACE_OS::thr_keyfree (this->key_);
-}
-
-template <>
-ACE_Threading_Helper<ACE_Null_Mutex>::~ACE_Threading_Helper ()
-{
-}
-
-template <> void
+void
ACE_Threading_Helper<ACE_Thread_Mutex>::set (void* p)
{
if (ACE_Thread::setspecific (key_, p) == -1)
@@ -74,12 +60,7 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::set (void* p)
""));
}
-template <> void
-ACE_Threading_Helper<ACE_Null_Mutex>::set (void*)
-{
-}
-
-template <> void*
+void*
ACE_Threading_Helper<ACE_Thread_Mutex>::get (void)
{
void* temp = 0;
@@ -91,13 +72,25 @@ ACE_Threading_Helper<ACE_Thread_Mutex>::get (void)
return temp;
}
-template <> void*
+ACE_Threading_Helper<ACE_Null_Mutex>::~ACE_Threading_Helper ()
+{
+}
+
+ACE_Threading_Helper<ACE_Null_Mutex>::ACE_Threading_Helper ()
+{
+}
+
+void
+ACE_Threading_Helper<ACE_Null_Mutex>::set (void*)
+{
+}
+
+void*
ACE_Threading_Helper<ACE_Null_Mutex>::get (void)
{
return ACE_Service_Config::singleton()->instance_.get ();
}
-
/**
* @c ACE_Service_Config is supposed to be a Singleton. This is the
* only Configuration Gestalt available for access from static
@@ -573,7 +566,7 @@ ACE_Service_Config::reconfigure (void)
int
ACE_Service_Config::close (void)
{
- ACE_Service_Config::singleton ()->instance_->close ();
+ ACE_Service_Config::singleton ()->instance_->close ();
// Delete the service repository. All the objects inside the
// service repository should already have been finalized.
@@ -628,6 +621,4 @@ ACE_Service_Config::reconfig_occurred (int config_occurred)
ACE_Service_Config::reconfig_occurred_ = config_occurred;
}
-// ************************************************************
-
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Service_Config.h b/ACE/ace/Service_Config.h
index 3268950a5ba..c8d79020a55 100644
--- a/ACE/ace/Service_Config.h
+++ b/ACE/ace/Service_Config.h
@@ -150,6 +150,14 @@ public:
template <typename LOCK>
class ACE_Threading_Helper
{
+};
+
+/*
+ * Specialization for a multi threaded program
+ */
+template<>
+class ACE_Export ACE_Threading_Helper<ACE_Thread_Mutex>
+{
public:
ACE_Threading_Helper ();
~ACE_Threading_Helper ();
@@ -158,12 +166,25 @@ public:
void* get (void);
private:
-
/// Key for the thread-specific data, which is a simple pointer to
/// the thread's (currently-) global configuration context.
ACE_thread_key_t key_;
};
+/*
+ * Specialization for a single threaded program
+ */
+template<>
+class ACE_Export ACE_Threading_Helper<ACE_Null_Mutex>
+{
+public:
+ ACE_Threading_Helper ();
+ ~ACE_Threading_Helper ();
+
+ void set (void*);
+ void* get (void);
+};
+
#define ACE_Component_Config ACE_Service_Config
/**
@@ -200,11 +221,19 @@ private:
class ACE_Export ACE_Service_Config
{
- // The Instance, or the global (default) configuration context.
- // The monostate would forward the calls to that instance. The TSS
- // will point here
+ /// The Instance, or the global (default) configuration context.
+ /// The monostate would forward the calls to that instance. The TSS
+ /// will point here
ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt> instance_;
+
+ /// A helper instance to manage thread-specific key creation.
+ /// Dependent on the syncronization mutex ACE uses, the corresponding
+ /// partial template instantiation will perform the right services
+ /// that have to do with managing thread-specific storage. Note that,
+ /// for single-threaded builds they would do (next to) nothing.
+ ACE_Threading_Helper<ACE_SYNCH_MUTEX> threadkey_;
+
public:
// = Initialization and termination methods.
@@ -230,7 +259,7 @@ public:
/// memory.
virtual ~ACE_Service_Config (void);
-protected:
+private:
/**
* Performs an open without parsing command-line arguments.
@@ -257,15 +286,6 @@ protected:
*/
virtual int parse_args_i (int argc, ACE_TCHAR *argv[]);
- /**
- * A helper instance to manage thread-specific key creation.
- * Dependent on the syncronization mutex ACE uses, the corresponding
- * partial template instantiation will perform the right services
- * that have to do with managing thread-specific storage. Note that,
- * for single-threaded builds they would do (next to) nothing.
- */
- ACE_Threading_Helper<ACE_SYNCH_MUTEX> threadkey_;
-
/// = Static interfaces
public:
@@ -549,13 +569,21 @@ protected:
u_int flags,
ACE_Service_Object_Exterminator gobbler);
-protected:
-
/// @deprecated
/// Process service configuration requests that were provided on the
/// command-line. Returns the number of errors that occurred.
static int process_commandline_directives (void);
+ /// Become a daemon.
+ static int start_daemon (void);
+
+ // @deprecated
+ // Add the default statically-linked services to the
+ // ACE_Service_Repository.
+ static int load_static_svcs (void);
+
+protected:
+
#if (ACE_USES_CLASSIC_SVC_CONF == 1)
/// @deprecated
/// This is the implementation function that process_directives()
@@ -564,14 +592,8 @@ protected:
static int process_directives_i (ACE_Svc_Conf_Param *param);
#endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */
- /// Become a daemon.
- static int start_daemon (void);
-
- // @deprecated
- // Add the default statically-linked services to the
- // ACE_Service_Repository.
- static int load_static_svcs (void);
+ // = Process-wide state.
private:
@@ -650,7 +672,6 @@ ACE_END_VERSIONED_NAMESPACE_DECL
#include "ace/Service_Config.inl"
#endif /* __ACE_INLINE__ */
-
#include /**/ "ace/post.h"
#endif /* ACE_SERVICE_CONFIG_H */
diff --git a/ACE/ace/Service_Config.inl b/ACE/ace/Service_Config.inl
index bd888087c48..85876478179 100644
--- a/ACE/ace/Service_Config.inl
+++ b/ACE/ace/Service_Config.inl
@@ -9,7 +9,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
// This is the primary entry point into the ACE_Service_Config (the
// constructor just handles simple initializations).
-
ACE_INLINE int
ACE_Service_Config::open (const ACE_TCHAR program_name[],
const ACE_TCHAR *logger_key,
@@ -121,8 +120,7 @@ ACE_Service_Config::initialize (const ACE_Service_Type *sr,
const ACE_TCHAR *parameters)
{
ACE_TRACE ("ACE_Service_Config::initialize");
- return ACE_Service_Config::current ()->initialize (sr,
- parameters);
+ return ACE_Service_Config::current ()->initialize (sr, parameters);
}
/// Process a file containing a list of service configuration
diff --git a/ACE/ace/Shared_Object.h b/ACE/ace/Shared_Object.h
index a1d25f0f7bb..345ddb41836 100644
--- a/ACE/ace/Shared_Object.h
+++ b/ACE/ace/Shared_Object.h
@@ -34,8 +34,12 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
class ACE_Export ACE_Shared_Object
{
public:
+ /// Constructor
ACE_Shared_Object (void);
+ /// Destructor
+ virtual ~ACE_Shared_Object (void);
+
/// Initializes object when dynamic linking occurs.
virtual int init (int argc, ACE_TCHAR *argv[]);
@@ -45,7 +49,6 @@ public:
/// Returns information on a service object.
virtual int info (ACE_TCHAR **info_string, size_t length = 0) const;
- virtual ~ACE_Shared_Object (void);
};
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/ACE/ace/Svc_Conf_Token_Table.h b/ACE/ace/Svc_Conf_Token_Table.h
index cd7c912b765..6f5617b9bdb 100644
--- a/ACE/ace/Svc_Conf_Token_Table.h
+++ b/ACE/ace/Svc_Conf_Token_Table.h
@@ -2,6 +2,8 @@
/* Skeleton interface for Bison's Yacc-like parsers in C
+ $Id$
+
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
diff --git a/ACE/ace/Svc_Conf_Tokens.h b/ACE/ace/Svc_Conf_Tokens.h
index f31729b838c..744b3053fd6 100644
--- a/ACE/ace/Svc_Conf_Tokens.h
+++ b/ACE/ace/Svc_Conf_Tokens.h
@@ -1,4 +1,15 @@
-// $Id$
+// -*- C++ -*-
+//====================================================================
+/**
+ * @file Svc_Conf_Tokens.h
+ *
+ * $Id$
+ *
+ * @author Iliyan Jeliazkov <iliyan@ociweb.com>
+ */
+//====================================================================
+
+
#ifndef BISON_SVC_CONF_TAB_H
# define BISON_SVC_CONF_TAB_H
diff --git a/ACE/ace/svcconf.mpb b/ACE/ace/svcconf.mpb
index 3bf43d6de78..ec333fb26eb 100644
--- a/ACE/ace/svcconf.mpb
+++ b/ACE/ace/svcconf.mpb
@@ -49,7 +49,7 @@ feature(ace_svcconf) {
"Svc_Conf_Token_Table.h: Svc_Conf.y Svc_Conf_y.cpp"
"ifeq ($(notdir $(YACC)), bison)"
- " $(MV) Svc_Conf.tab.h Svc_Conf_Token_Table.h"
+ " mv Svc_Conf.tab.h Svc_Conf_Token_Table.h"
"else"
" @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
" @/bin/false"
diff --git a/ACE/docs/ACE-bug-process.html b/ACE/docs/ACE-bug-process.html
index 7258761bae7..817fa34485e 100644
--- a/ACE/docs/ACE-bug-process.html
+++ b/ACE/docs/ACE-bug-process.html
@@ -59,16 +59,16 @@ our work we will respond to it in a very timely manner. Please
contact <A HREF="mailto:schmidt@dre.vanderbilt.edu">me</A> if you'd
like to become a sponsor. <P>
-<LI> If it's a bug report that pertains to the latest official and/or
-beta release and it also contains a fix we will try to apply this in a
-timely manner. In general, people who submit good bug reports with
-fixes tend to get much better help from the core DOC group team,
-irrespective of whether they are sponsors or not since they are
-helping our overall effort move ahead. <P>
-
-<LI> If it's a bug report for the latest official and/or beta release
-that prevents ACE, TAO, or CIAO from working on a major platform used
-by ourselves or our sponsors we'll try to fix it as time permits. <P>
+<LI> If it's a bug report that pertains to the latest release and it
+also contains a fix we will try to apply this in a timely manner. In
+general, people who submit good bug reports with fixes tend to get
+much better help from the core DOC group team, irrespective of whether
+they are sponsors or not since they are helping our overall effort
+move ahead. <P>
+
+<LI> If it's a bug report for the latest release that prevents ACE,
+TAO, or CIAO from working on a popular platform used by ourselves or
+our sponsors we'll try to fix it as time permits. <P>
</OL>
diff --git a/ACE/docs/ACE-development-process.html b/ACE/docs/ACE-development-process.html
index 07f90f9f317..76827d552a9 100644
--- a/ACE/docs/ACE-development-process.html
+++ b/ACE/docs/ACE-development-process.html
@@ -144,34 +144,31 @@ we do not put out major or minor releases of ACE+TAO+CIAO until all the
compilations and regression tests work successful on all the platform
we support. <P>
-Between major/minor releases, we release betas periodically,
-<EM>e.g.,</EM> once a month, so that ACE+TAO+CIAO users can download
-and test our latest work in progress. ACE+TAO+CIAO beta kits have
-three-digit numbers, <EM>e.g.,</EM> 5.3.1. Betas are often not as
-stable as the major or minor releases, but they often contain
-important fixes that aren't in the official releases. Although we try
-to ensure the quality of betas, they may not compile cleanly on all
-platforms, nor will they necessarily pass all of the tests on all
-platforms. They will, however, compile cleanly and pass most tests on
-most platforms. As usual, we endeavor to fix any problems that arise
-as quickly as possible. Naturally, if you require 100% predictable
-stability and support, please contact one of the companies that
-provides <A
-HREF="http://www.cs.wustl.edu/~schmidt/commercial-support.html">
-commercial support</A> for ACE+TAO.<P>
-
-The first beta following a major/minor release is called a
-<EM>bug-fix-only</EM> (BFO) beta. As the name implies this beta will
-have only fixes for the major or minor releases just made. Types of
-fixes and checkins that are allowed to go in for the BFO include, bug
-fixes in the implementation, fixes to the build systems like
-Makefiles, project files, and MPC files, adding new tests and
+Between major/minor releases, we release micro releases periodically,
+<EM>e.g.,</EM> 3-4 times per year, so that ACE+TAO+CIAO users can
+download and test our latest work in progress. ACE+TAO+CIAO minor
+release kits have three-digit numbers, <EM>e.g.,</EM> 5.3.1. Micro
+releases often contain important fixes that aren't in the major/minor
+releases and will compile cleanly and pass most tests on most
+platforms. They are not, however, necessarily concerned with ensuring
+API compatibilities between micro releases, <EM>e.g.,</EM> new
+features may be changed or removed between the micro releases. <P>
+
+The first micro release following a major/minor release is called the
+<EM>bug-fix-only</EM> (BFO) micro release. As the name implies, this
+micro release only has fixes for the most recent major/minor releases.
+Types of fixes and checkins that are allowed to go in for the BFO
+include, bug fixes in the implementation, fixes to the build systems
+like Makefiles, project files, and MPC files, adding new tests and
examples, fixes to the documentation etc. Fixes that are definitely
not allowed include, changes to the public interface, refactoring
implementations, removing files from the repository, adding new files
into the repository etc. The idea is to allow commercial support
vendors to stabilize the major or minor release for their product
-offerings. <p>
+offerings. As always, if you require 100% predictable stability and
+support, please contact one of the companies that provides <A
+HREF="http://www.cs.wustl.edu/~schmidt/commercial-support.html">
+commercial support</A> for ACE+TAO.<P>
<p><hr>
<H3>Contributions from the Open-Source Community</H3>
diff --git a/ACE/docs/Download.html b/ACE/docs/Download.html
index d64b37900b9..b44177ae0f4 100644
--- a/ACE/docs/Download.html
+++ b/ACE/docs/Download.html
@@ -57,23 +57,23 @@ from a number of companies. <P>
<P>
Our process for developing and releasing ACE, TAO, and CIAO, as well
-as the role of "official" releases vs. beta kits is described in detail in
-the DOC group's <A
+as the role of major, minor, andmicro release kits is described in
+detail in the DOC group's <A
HREF="https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/docs/ACE-development-process.html?revision=HEAD">
development and release process</A> document. Please check that
document to decide which version below is more appropriate for your
case. You may want to understand the DOC group's <A
HREF="https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/docs/ACE-bug-process.html?revision=HEAD">
-bug fixing policies</A> when you make this decision.
-</P>The full packages do contain all sources with pre generated makefiles for GNU make, Visual C++ 7.1/8.0/9.0, Borland
-C++ make, and GNU autoconf. The sources only packes just contain the sources, you have to generate your
-own makefiles with MPC.
-</P>
+bug fixing policies</A> when you make this decision. </P>The full
+packages do contain all sources with pre generated makefiles for GNU
+make, Visual C++ 7.1/8.0/9.0, Borland C++ make, and GNU autoconf. The
+sources only packes just contain the sources, you have to generate
+your own makefiles with MPC. </P>
<UL>
-<LI> <B>Latest Beta Kit.</B> The latest <A
+<LI> <B>Latest Micro Release Kit.</B> The latest <A
HREF="https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/VERSION?revision=HEAD">version</a>
-of the ACE, TAO, and CIAO beta kit is available for
+of the ACE, TAO, and CIAO micro release kit is available for
download below. <P>
<TABLE BORDER="4">
@@ -180,7 +180,7 @@ of the ACE, TAO, and CIAO beta kit is available for
</TABLE>
<P>
- Patches between older beta kit versions are available via FTP at
+ Patches between older micro release kit versions are available via FTP at
<A HREF="ftp://download.dre.vanderbilt.edu/diffs">this location</A>.
</P>
@@ -292,11 +292,10 @@ of the ACE, TAO, and CIAO beta kit is available for
<P>
-<LI> <A NAME="stable-beta"></A><B>Latest BFO Beta.</B> The BFO beta
-for the latest release of ACE 5.6, TAO 1.6, CIAO 0.6 is, ACE 5.6.1, TAO
-1.6.1, and CIAO 0.6.1 (ACE+TAO+CIAO x.6.1).
-
-please use the links below to download it.
+<LI> <A NAME="stable-beta"></A><B>Latest BFO Micro Release.</B> The
+BFO micro release for the latest release of ACE 5.6, TAO 1.6, CIAO 0.6
+is, ACE 5.6.1, TAO 1.6.1, and CIAO 0.6.1 (ACE+TAO+CIAO x.6.1). Please
+use the links below to download it.
<TABLE BORDER="4">
<TR><TH>Filename</TH><TH>Description</TH><TH>Full</TH><TH>Sources only</TH></TR>
@@ -406,8 +405,8 @@ please use the links below to download it.
Older versions of ACE+TAO are also available via HTTP at <A
HREF="http://download.dre.vanderbilt.edu/previous_versions">this location</A>
. This location has a few of the previous major and minor
- releases. This location will house all of the releases and betas
- released after ACE+TAO-5.2+1.2.
+ releases. This location will house all major, minor, and micro releases
+ distributed after ACE+TAO-5.2+1.2.
</P>
<H3>Other Sources for ACE+TAO+CIAO</H3>
diff --git a/ACE/tests/Bug_2980_Regression_Test.cpp b/ACE/tests/Bug_2980_Regression_Test.cpp
index c1b8282c900..eb918b27a87 100644
--- a/ACE/tests/Bug_2980_Regression_Test.cpp
+++ b/ACE/tests/Bug_2980_Regression_Test.cpp
@@ -4,155 +4,181 @@
#include <assert.h>
#include <stdio.h>
-// This is a non-ACE driver program which loads an ACE-based DLL.
-// The usual ACE-related defines will not apply and we must use
-// platform-specific ones. Luckily, it is only Windows where this
-// test has not been made to work yet ...
+#include "ace/config-lite.h"
+// This is a non-ACE driver program which loads an ACE-based DLL. The
+// usual ACE-related defines will not apply and we must use
+// platform-specific ones.
+//
+// This test has not been made to work on Windows and vxWorks, yet ...
-#if !(defined (WIN32) || defined (ACE_VXWORKS))
-# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
-# define USE_THREAD
-# else
-# undef USE_THREAD
-# endif
+#if defined (ACE_HAS_THREADS)
+# define CAN_USE_THREADS
+#else
+# undef CAN_USE_THREADS
+#endif
+#if !(defined (WIN32) || defined (ACE_VXWORKS))
# define CAN_RUN_TEST
-#endif
-#if defined (CAN_RUN_TEST)
+# include <dlfcn.h>
+
+
+# if defined CAN_USE_THREADS
+# include <pthread.h>
+# endif
-#include <dlfcn.h>
+#else
+# undef CAN_RUN_TEST
+#endif
-#if defined USE_THREAD
-# include <pthread.h>
+#if defined (__BORLANDC__)
+# define PRINTF std::printf
+#else
+# define PRINTF printf
#endif
-static void * dllHandle;
typedef int (* voidfunction)(void);
+
+#if defined (CAN_RUN_TEST)
+static void * dllHandle;
static voidfunction capi_init = 0;
static voidfunction capi_fini = 0;
static voidfunction capi_dosomething = 0;
+#endif /* defined (CAN_RUN_TEST) */
+
extern "C"
void* loadDll(void*)
{
- printf ("loadDll - entered\n");
+ PRINTF ("loadDll - entered\n");
+
+#if defined (CAN_RUN_TEST)
dllHandle = dlopen("./libBug_2980_Regression.so", RTLD_NOW);
if (dllHandle == 0)
{
- printf ("unable to load library: %s\n", dlerror());
+ PRINTF ("unable to load library: %s\n", dlerror());
assert(dllHandle != 0);
}
capi_init = (voidfunction) dlsym(dllHandle, "capi_init");
if (capi_init == 0)
{
- printf ("unable to resolve symbol capi_init: %s\n", dlerror());
+ PRINTF ("unable to resolve symbol capi_init: %s\n", dlerror());
assert(capi_init != 0);
}
capi_fini = (voidfunction) dlsym(dllHandle, "capi_fini");
if (capi_init == 0)
{
- printf ("unable to resolve symbol capi_fini: %s\n", dlerror());
+ PRINTF ("unable to resolve symbol capi_fini: %s\n", dlerror());
assert(capi_init != 0);
}
capi_dosomething = (voidfunction) dlsym(dllHandle, "capi_dosomething");
if (capi_dosomething == 0)
{
- printf ("unable to resolve symbol capi_dosomething: %s\n", dlerror());
+ PRINTF ("unable to resolve symbol capi_dosomething: %s\n", dlerror());
assert(capi_dosomething != 0);
}
-
capi_init();
+#endif /* defined (CAN_RUN_TEST) */
- printf ("loadDll - leaving\n");
+ PRINTF ("loadDll - leaving\n");
return 0;
}
+extern "C"
void* unloadDll(void*)
{
- printf ("unloadDll - entered\n");
+ PRINTF ("unloadDll - entered\n");
+#if defined (CAN_RUN_TEST)
capi_fini();
-
dlclose(dllHandle);
+#endif /* defined (CAN_RUN_TEST) */
- printf ("unloadDll - leaving\n");
-
+ PRINTF ("unloadDll - leaving\n");
return 0;
}
+
+
+
void * loadunloadDll(void *pp)
{
loadDll(pp);
+#if defined (CAN_RUN_TEST)
assert(capi_dosomething != 0);
-
capi_dosomething();
+#endif /* defined (CAN_RUN_TEST) */
unloadDll(pp);
return 0;
}
-#endif /* defined (CAN_RUN_TEST) */
int main(int, char **)
{
+ PRINTF ("main called\n");
#if !defined (CAN_RUN_TEST)
-#if defined (__BORLANDC__)
- std::printf ("Terminating because this test has not been designed "
- "to run on platforms where WIN32 has been defined.\n");
-#else
- printf ("Terminating because this test has not been designed "
- "to run on platforms where WIN32 has been defined.\n");
-#endif
+ PRINTF ("Terminating because this test has not been designed "
+ "to run on WIN32 or VXWORKS.\n");
#else
- printf ("main - entered\n");
-# ifdef USE_THREAD
+ PRINTF ("main - calling loadDll\n");
+
+# if defined (CAN_USE_THREADS)
int result = 0;
pthread_t tid1;
result = pthread_create(&tid1, 0, &loadDll, 0);
if (result != 0)
{
- printf ("pthread_create() failed: %d\n", result);
- return 1;
+ PRINTF ("pthread_create() failed: %d\n", result);
+ return result;
}
+
pthread_join(tid1, 0);
- printf ("loadDll thread finished\n");
+ PRINTF ("loadDll thread finished and re-joined\n");
+
# else
+
loadDll(0);
- printf ("loadDll finished\n");
-# endif
+ PRINTF ("loadDll finished\n");
-# ifdef USE_THREAD
+# endif /* defined (CAN_USE_THREADS) */
+
+ PRINTF ("main - calling unloadDll\n");
+
+# if defined (CAN_USE_THREADS)
pthread_t tid2;
result = pthread_create(&tid2, 0, &unloadDll, 0);
if (result != 0)
{
- printf ("pthread_create() failed: %d\n", result);
+ PRINTF ("pthread_create() failed: %d\n", result);
return 1;
}
pthread_join(tid2, 0);
- printf ("unloadDll thread finished\n");
+ PRINTF ("unloadDll thread finished and re-joined\n");
+
# else
+
unloadDll(0);
- printf ("unloadDll finished\n");
-# endif
+ PRINTF ("unloadDll finished\n");
- printf ("main - leaving\n");
+# endif /* defined (CAN_USE_THREADS) */
#endif /* defined (CAN_RUN_TEST) */
+ PRINTF ("main finished\n");
return 0;
+
}
diff --git a/ACE/tests/run_test.lst b/ACE/tests/run_test.lst
index 6f84510a245..8c6670dcd86 100644
--- a/ACE/tests/run_test.lst
+++ b/ACE/tests/run_test.lst
@@ -40,7 +40,7 @@ Bug_2659_Regression_Test: !ST !VxWorks64 !VxWorks65
Bug_2653_Regression_Test: !ST
Bug_2815_Regression_Test
Bug_2820_Regression_Test
-Bug_2980_Regression_Test: !ST !STATIC !MSVC !VxWorks64
+Bug_2980_Regression_Test: !STATIC !MSVC !VxWorks !LynxOS
Bug_3102_Regression_Test
CDR_Array_Test: !ACE_FOR_TAO
CDR_File_Test: !ACE_FOR_TAO
diff --git a/ACE/tests/tests.mpc b/ACE/tests/tests.mpc
index 6920579fd38..d6b29e879ab 100644
--- a/ACE/tests/tests.mpc
+++ b/ACE/tests/tests.mpc
@@ -261,10 +261,14 @@ project (Bug_2980_Regression_Test) {
// which loads an ACE-based DLL.
after += Bug_2980_Regression_Dll
+ avoids += uses_wchar
+ includes += $(ACE_ROOT)
exename = Bug_2980_Regression_Test
Source_Files {
Bug_2980_Regression_Test.cpp
}
+ Resource_Files {
+ }
}
project (Bug_2980_Regression_Dll): acelib {