00001 // -*- C++ -*- 00002 // 00003 // $Id: Thread_Mutex.inl 73783 2006-07-27 10:20:25Z johnnyw $ 00004 00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE const ACE_thread_mutex_t & 00008 ACE_Thread_Mutex::lock (void) const 00009 { 00010 // ACE_TRACE ("ACE_Thread_Mutex::lock"); 00011 return this->lock_; 00012 } 00013 00014 ACE_INLINE int 00015 ACE_Thread_Mutex::acquire_read (void) 00016 { 00017 // ACE_TRACE ("ACE_Thread_Mutex::acquire_read"); 00018 return ACE_OS::thread_mutex_lock (&this->lock_); 00019 } 00020 00021 ACE_INLINE int 00022 ACE_Thread_Mutex::acquire_write (void) 00023 { 00024 // ACE_TRACE ("ACE_Thread_Mutex::acquire_write"); 00025 return ACE_OS::thread_mutex_lock (&this->lock_); 00026 } 00027 00028 ACE_INLINE int 00029 ACE_Thread_Mutex::tryacquire_read (void) 00030 { 00031 // ACE_TRACE ("ACE_Thread_Mutex::tryacquire_read"); 00032 return ACE_OS::thread_mutex_trylock (&this->lock_); 00033 } 00034 00035 ACE_INLINE int 00036 ACE_Thread_Mutex::tryacquire_write (void) 00037 { 00038 // ACE_TRACE ("ACE_Thread_Mutex::tryacquire_write"); 00039 return ACE_OS::thread_mutex_trylock (&this->lock_); 00040 } 00041 00042 ACE_INLINE int 00043 ACE_Thread_Mutex::tryacquire_write_upgrade (void) 00044 { 00045 // ACE_TRACE ("ACE_Thread_Mutex::tryacquire_write_upgrade"); 00046 return 0; 00047 } 00048 00049 ACE_INLINE int 00050 ACE_Thread_Mutex::acquire (void) 00051 { 00052 // ACE_TRACE ("ACE_Thread_Mutex::acquire"); 00053 return ACE_OS::thread_mutex_lock (&this->lock_); 00054 } 00055 00056 ACE_INLINE int 00057 ACE_Thread_Mutex::acquire (ACE_Time_Value &tv) 00058 { 00059 // ACE_TRACE ("ACE_Thread_Mutex::acquire"); 00060 return ACE_OS::thread_mutex_lock (&this->lock_, tv); 00061 } 00062 00063 ACE_INLINE int 00064 ACE_Thread_Mutex::acquire (ACE_Time_Value *tv) 00065 { 00066 // ACE_TRACE ("ACE_Thread_Mutex::acquire"); 00067 return ACE_OS::thread_mutex_lock (&this->lock_, tv); 00068 } 00069 00070 ACE_INLINE int 00071 ACE_Thread_Mutex::tryacquire (void) 00072 { 00073 // ACE_TRACE ("ACE_Thread_Mutex::tryacquire"); 00074 return ACE_OS::thread_mutex_trylock (&this->lock_); 00075 } 00076 00077 ACE_INLINE int 00078 ACE_Thread_Mutex::release (void) 00079 { 00080 // ACE_TRACE ("ACE_Thread_Mutex::release"); 00081 return ACE_OS::thread_mutex_unlock (&this->lock_); 00082 } 00083 00084 ACE_INLINE int 00085 ACE_Thread_Mutex::remove (void) 00086 { 00087 // ACE_TRACE ("ACE_Thread_Mutex::remove"); 00088 int result = 0; 00089 if (this->removed_ == false) 00090 { 00091 this->removed_ = true; 00092 result = ACE_OS::thread_mutex_destroy (&this->lock_); 00093 } 00094 return result; 00095 } 00096 00097 ACE_END_VERSIONED_NAMESPACE_DECL