diff options
author | Chris Cleeland <chris.cleeland@gmail.com> | 1997-07-16 19:20:15 +0000 |
---|---|---|
committer | Chris Cleeland <chris.cleeland@gmail.com> | 1997-07-16 19:20:15 +0000 |
commit | 42d9138a4e4f39543882fff83373984133d92516 (patch) | |
tree | 9d0975e139786eec2dafcc7e08be45b8ea9cc3bf | |
parent | 0cf3094dc77e980fac58259d50fdb4d1037ec9d1 (diff) | |
download | ATCD-42d9138a4e4f39543882fff83373984133d92516.tar.gz |
Fixed TAO_OA_Parameters singleton lock problem.
-rw-r--r-- | TAO/ChangeLog-98c | 7 | ||||
-rw-r--r-- | TAO/tao/params.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/params.h | 4 | ||||
-rw-r--r-- | TAO/tao/params.i | 16 |
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 */ } |