summaryrefslogtreecommitdiff
path: root/ace/Synch.cpp
diff options
context:
space:
mode:
authornw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-08-23 02:03:24 +0000
committernw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-08-23 02:03:24 +0000
commitbde1bd27fdb3e91ca75e218849536ef87063608e (patch)
tree302c70c05af0ce4f57501d1d2cc492aed480e407 /ace/Synch.cpp
parentc48f691431eea4c71877dd5dd63d739912c7bbf3 (diff)
downloadATCD-bde1bd27fdb3e91ca75e218849536ef87063608e.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Synch.cpp')
-rw-r--r--ace/Synch.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/ace/Synch.cpp b/ace/Synch.cpp
index 0d78c6b6a80..5b0e596268b 100644
--- a/ace/Synch.cpp
+++ b/ace/Synch.cpp
@@ -17,6 +17,10 @@
ACE_Recursive_Thread_Mutex *ACE_Static_Object_Lock::mutex_ = 0;
#endif
+#if defined (ACE_WIN32)
+ACE_Thread_Mutex *ACE_TSS_Cleanup_Lock::mutex_ = 0;
+#endif /* ACE_WIN32 */
+
ACE_ALLOC_HOOK_DEFINE(ACE_Null_Mutex)
ACE_ALLOC_HOOK_DEFINE(ACE_File_Lock)
ACE_ALLOC_HOOK_DEFINE(ACE_RW_Process_Mutex)
@@ -949,6 +953,21 @@ ACE_Static_Object_Lock::instance (void)
return ACE_Static_Object_Lock::mutex_;
}
+////////////////////////////////////////////////////////////////
+#if defined (ACE_WIN32)
+
+ACE_Thread_Mutex *
+ACE_TSS_Cleanup_Lock::instance (void)
+{
+ // We assume things before main are single threaded.
+ if (ACE_TSS_Cleanup_Lock::mutex_ == 0)
+ ACE_NEW_RETURN (ACE_TSS_Cleanup_Lock::mutex_,
+ ACE_Thread_Mutex, 0);
+ return ACE_TSS_Cleanup_Lock::mutex_;
+}
+
+#endif /* ACE_WIN32 */
+
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
// These are only specialized with ACE_HAS_THREADS.
template class ACE_Guard<ACE_SYNCH_RW_MUTEX>;