RW_Mutex.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // RW_Mutex.inl,v 4.2 2005/10/28 16:14:55 ossama Exp
00004 
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 ACE_INLINE const ACE_rwlock_t &
00008 ACE_RW_Mutex::lock (void) const
00009 {
00010 // ACE_TRACE ("ACE_RW_Mutex::lock");
00011   return this->lock_;
00012 }
00013 
00014 ACE_INLINE int
00015 ACE_RW_Mutex::remove (void)
00016 {
00017 // ACE_TRACE ("ACE_RW_Mutex::remove");
00018   int result = 0;
00019   if (this->removed_ == 0)
00020     {
00021       this->removed_ = 1;
00022       result = ACE_OS::rwlock_destroy (&this->lock_);
00023     }
00024   return result;
00025 }
00026 
00027 ACE_INLINE int
00028 ACE_RW_Mutex::acquire_read (void)
00029 {
00030 // ACE_TRACE ("ACE_RW_Mutex::acquire_read");
00031   return ACE_OS::rw_rdlock (&this->lock_);
00032 }
00033 
00034 ACE_INLINE int
00035 ACE_RW_Mutex::acquire_write (void)
00036 {
00037 // ACE_TRACE ("ACE_RW_Mutex::acquire_write");
00038   return ACE_OS::rw_wrlock (&this->lock_);
00039 }
00040 
00041 ACE_INLINE int
00042 ACE_RW_Mutex::acquire (void)
00043 {
00044 // ACE_TRACE ("ACE_RW_Mutex::acquire");
00045   return ACE_OS::rw_wrlock (&this->lock_);
00046 }
00047 
00048 ACE_INLINE int
00049 ACE_RW_Mutex::tryacquire_read (void)
00050 {
00051 // ACE_TRACE ("ACE_RW_Mutex::tryacquire_read");
00052   return ACE_OS::rw_tryrdlock (&this->lock_);
00053 }
00054 
00055 ACE_INLINE int
00056 ACE_RW_Mutex::tryacquire_write (void)
00057 {
00058 // ACE_TRACE ("ACE_RW_Mutex::tryacquire_write");
00059   return ACE_OS::rw_trywrlock (&this->lock_);
00060 }
00061 
00062 ACE_INLINE int
00063 ACE_RW_Mutex::tryacquire_write_upgrade (void)
00064 {
00065 // ACE_TRACE ("ACE_RW_Mutex::tryacquire_write_upgrade");
00066   return ACE_OS::rw_trywrlock_upgrade (&this->lock_);
00067 }
00068 
00069 ACE_INLINE int
00070 ACE_RW_Mutex::tryacquire (void)
00071 {
00072 // ACE_TRACE ("ACE_RW_Mutex::tryacquire");
00073   return this->tryacquire_write ();
00074 }
00075 
00076 ACE_INLINE int
00077 ACE_RW_Mutex::release (void)
00078 {
00079 // ACE_TRACE ("ACE_RW_Mutex::release");
00080   return ACE_OS::rw_unlock (&this->lock_);
00081 }
00082 
00083 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 09:42:02 2006 for ACE by doxygen 1.3.6