00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "ace/Thread_Mutex.h"
00012
00013 #if defined (ACE_HAS_THREADS)
00014
00015 #if !defined (__ACE_INLINE__)
00016 #include "ace/Thread_Mutex.inl"
00017 #endif
00018
00019 #include "ace/Log_Msg.h"
00020 #include "ace/Guard_T.h"
00021 #include "ace/Malloc_T.h"
00022
00023 ACE_RCSID(ace, Thread_Mutex, "Thread_Mutex.cpp,v 4.8 2006/04/19 19:13:09 jwillemsen Exp")
00024
00025 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00026
00027 ACE_ALLOC_HOOK_DEFINE(ACE_Thread_Mutex_Guard)
00028
00029 #if defined (ACE_USES_OBSOLETE_GUARD_CLASSES)
00030 void
00031 ACE_Thread_Mutex_Guard::dump (void) const
00032 {
00033 #if defined (ACE_HAS_DUMP)
00034
00035
00036 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00037 ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n")));
00038 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00039 #endif
00040 }
00041 #endif
00042 ACE_ALLOC_HOOK_DEFINE(ACE_Thread_Mutex)
00043
00044 void
00045 ACE_Thread_Mutex::dump (void) const
00046 {
00047 #if defined (ACE_HAS_DUMP)
00048
00049
00050 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00051 ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n")));
00052 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00053 #endif
00054 }
00055
00056 ACE_Thread_Mutex::~ACE_Thread_Mutex (void)
00057 {
00058
00059 this->remove ();
00060 }
00061
00062 ACE_Thread_Mutex::ACE_Thread_Mutex (const ACE_TCHAR *name, ACE_mutexattr_t *arg)
00063 : removed_ (0)
00064 {
00065
00066
00067 if (ACE_OS::thread_mutex_init (&this->lock_,
00068 0,
00069 name,
00070 arg) != 0)
00071 ACE_ERROR ((LM_ERROR,
00072 ACE_LIB_TEXT ("%p\n"),
00073 ACE_LIB_TEXT ("ACE_Thread_Mutex::ACE_Thread_Mutex")));
00074 }
00075
00076 ACE_END_VERSIONED_NAMESPACE_DECL
00077
00078 #endif