summaryrefslogtreecommitdiff
path: root/ace/Service_Repository.cpp
diff options
context:
space:
mode:
authornw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-30 09:36:54 +0000
committernw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-30 09:36:54 +0000
commit035e2fdfb81911d5e2a7f008e29d12fbf027ff42 (patch)
treeb2d2673e5c006a659cb3fa2db85292ef68f647bf /ace/Service_Repository.cpp
parent61f5e66b55cc7985293d34f2fb4b48940fc023a7 (diff)
downloadATCD-035e2fdfb81911d5e2a7f008e29d12fbf027ff42.tar.gz
Modified to use ACE_Static_Object_Lock for singleton.
Diffstat (limited to 'ace/Service_Repository.cpp')
-rw-r--r--ace/Service_Repository.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/ace/Service_Repository.cpp b/ace/Service_Repository.cpp
index b6e5f0a0aae..e781d11fdb1 100644
--- a/ace/Service_Repository.cpp
+++ b/ace/Service_Repository.cpp
@@ -10,11 +10,6 @@
ACE_ALLOC_HOOK_DEFINE(ACE_Service_Repository)
-#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
-// Lock the creation of the Singletons.
-static ACE_Thread_Mutex ace_service_repository_lock_;
-#endif /* ACE_MT_SAFE */
-
// Process-wide Service Repository.
ACE_Service_Repository *ACE_Service_Repository::svc_rep_ = 0;
@@ -44,7 +39,8 @@ ACE_Service_Repository::instance (int size /* = ACE_Service_Repository::DEFAULT_
if (ACE_Service_Repository::svc_rep_ == 0)
{
// Perform Double-Checked Locking Optimization.
- ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, ace_service_repository_lock_, 0));
+ ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon,
+ *ACE_Static_Object_Lock::get_lock (), 0));
if (ACE_Service_Repository::svc_rep_ == 0)
{
@@ -59,7 +55,8 @@ ACE_Service_Repository *
ACE_Service_Repository::instance (ACE_Service_Repository *s)
{
ACE_TRACE ("ACE_Service_Repository::instance");
- ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, ace_service_repository_lock_, 0));
+ ACE_MT (ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon,
+ *ACE_Static_Object_Lock::get_lock (), 0));
ACE_Service_Repository *t = ACE_Service_Repository::svc_rep_;
// We can't safely delete it since we don't know who created it!
@@ -74,7 +71,8 @@ ACE_Service_Repository::close_singleton (void)
{
ACE_TRACE ("ACE_Service_Repository::close_singleton");
- ACE_MT (ACE_GUARD (ACE_Thread_Mutex, ace_mon, ace_service_repository_lock_));
+ ACE_MT (ACE_GUARD (ACE_Thread_Mutex, ace_mon,
+ *ACE_Static_Object_Lock::get_lock ()));
if (ACE_Service_Repository::delete_svc_rep_)
{