summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Cleeland <chris.cleeland@gmail.com>1997-07-16 19:20:15 +0000
committerChris Cleeland <chris.cleeland@gmail.com>1997-07-16 19:20:15 +0000
commit42d9138a4e4f39543882fff83373984133d92516 (patch)
tree9d0975e139786eec2dafcc7e08be45b8ea9cc3bf
parent0cf3094dc77e980fac58259d50fdb4d1037ec9d1 (diff)
downloadATCD-42d9138a4e4f39543882fff83373984133d92516.tar.gz
Fixed TAO_OA_Parameters singleton lock problem.
-rw-r--r--TAO/ChangeLog-98c7
-rw-r--r--TAO/tao/params.cpp2
-rw-r--r--TAO/tao/params.h4
-rw-r--r--TAO/tao/params.i16
4 files changed, 8 insertions, 21 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index fe80eddf83f..9914f159b03 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,10 @@
+Wed Jul 16 14:17:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
+
+ * tao/params.*: Eliminated unnecessary
+ ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES checks from
+ TAO_OA_Parameters (unnecessary b/c it's not a template). Also
+ corrected the type of TAO_OA_Parameters::ace_singleton_lock_.
+
Wed Jul 16 11:34:36 1997 Chris Cleeland <cleeland@cs.wustl.edu>
* tao/boa.cpp: Removed some unused code.
diff --git a/TAO/tao/params.cpp b/TAO/tao/params.cpp
index 846c14c75ed..47720dc1782 100644
--- a/TAO/tao/params.cpp
+++ b/TAO/tao/params.cpp
@@ -36,13 +36,11 @@ TAO_OA_Parameters::instance (TAO_OA_Parameters *new_instance)
}
-#if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
// Pointer to the Singleton instance.
TAO_OA_Parameters *TAO_OA_Parameters::instance_ = 0;
// Lock the creation of the singleton.
ACE_SYNCH_MUTEX TAO_OA_Parameters::ace_singleton_lock_;
-#endif /* !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES) */
#if !defined(__ACE_INLINE__)
# include "params.i"
diff --git a/TAO/tao/params.h b/TAO/tao/params.h
index 4ee9d9bc02f..3abc560d180 100644
--- a/TAO/tao/params.h
+++ b/TAO/tao/params.h
@@ -139,13 +139,11 @@ public:
CORBA_ULong tablesize (void);
protected:
-#if !defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
static TAO_OA_Parameters *instance_;
// Pointer to the Singleton instance.
- static TAO_OA_Parameters ace_singleton_lock_;
+ static ACE_SYNCH_MUTEX ace_singleton_lock_;
// Lock the creation of the singleton.
-#endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */
static TAO_OA_Parameters *&instance_i (void);
// Get pointer to the Singleton instance
diff --git a/TAO/tao/params.i b/TAO/tao/params.i
index 2a1934bee36..dd1933c89b4 100644
--- a/TAO/tao/params.i
+++ b/TAO/tao/params.i
@@ -147,27 +147,11 @@ TAO_OA_Parameters::tablesize (void)
ACE_INLINE TAO_OA_Parameters *&
TAO_OA_Parameters::instance_i (void)
{
-#if defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
- // Pointer to the Singleton instance. This works around a bug with
- // G++...
- static TAO_OA_Parameters *instance_ = 0;
-
- return instance_;
-#else
return TAO_OA_Parameters::instance_;
-#endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */
}
ACE_INLINE ACE_SYNCH_MUTEX &
TAO_OA_Parameters::singleton_lock_i (void)
{
-#if defined (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES)
- // ACE_SYNCH_MUTEX the creation of the singleton. This works around a
- // "feature" of G++... ;-)
- static ACE_SYNCH_MUTEX ace_singleton_lock_;
-
- return ace_singleton_lock_;
-#else
return TAO_OA_Parameters::ace_singleton_lock_;
-#endif /* ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES */
}