File_Lock.inl

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // File_Lock.inl,v 4.3 2005/10/28 16:14:52 ossama Exp
00004 
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006 
00007 ACE_INLINE int
00008 ACE_File_Lock::acquire_read (short whence, off_t start, off_t len)
00009 {
00010 // ACE_TRACE ("ACE_File_Lock::acquire_read");
00011   return ACE_OS::flock_rdlock (&this->lock_, whence, start, len);
00012 }
00013 
00014 ACE_INLINE int
00015 ACE_File_Lock::tryacquire_read (short whence, off_t start, off_t len)
00016 {
00017 // ACE_TRACE ("ACE_File_Lock::tryacquire_read");
00018   return ACE_OS::flock_tryrdlock (&this->lock_, whence, start, len);
00019 }
00020 
00021 ACE_INLINE int
00022 ACE_File_Lock::tryacquire_write (short whence, off_t start, off_t len)
00023 {
00024 // ACE_TRACE ("ACE_File_Lock::tryacquire_write");
00025   return ACE_OS::flock_trywrlock (&this->lock_, whence, start, len);
00026 }
00027 
00028 ACE_INLINE int
00029 ACE_File_Lock::tryacquire_write_upgrade (short whence, off_t start, off_t len)
00030 {
00031 // ACE_TRACE ("ACE_File_Lock::tryacquire_write_upgrade");
00032   return ACE_OS::flock_trywrlock (&this->lock_, whence, start, len);
00033 }
00034 
00035 ACE_INLINE int
00036 ACE_File_Lock::tryacquire (short whence, off_t start, off_t len)
00037 {
00038 // ACE_TRACE ("ACE_File_Lock::tryacquire");
00039   return this->tryacquire_write (whence, start, len);
00040 }
00041 
00042 ACE_INLINE int
00043 ACE_File_Lock::acquire_write (short whence, off_t start, off_t len)
00044 {
00045 // ACE_TRACE ("ACE_File_Lock::acquire_write");
00046   return ACE_OS::flock_wrlock (&this->lock_, whence, start, len);
00047 }
00048 
00049 ACE_INLINE int
00050 ACE_File_Lock::acquire (short whence, off_t start, off_t len)
00051 {
00052 // ACE_TRACE ("ACE_File_Lock::acquire");
00053   return this->acquire_write (whence, start, len);
00054 }
00055 
00056 ACE_INLINE int
00057 ACE_File_Lock::release (short whence, off_t start, off_t len)
00058 {
00059 // ACE_TRACE ("ACE_File_Lock::release");
00060   return ACE_OS::flock_unlock (&this->lock_, whence, start, len);
00061 }
00062 
00063 ACE_INLINE int
00064 ACE_File_Lock::remove (int unlink_file)
00065 {
00066 // ACE_TRACE ("ACE_File_Lock::remove");
00067 
00068   int result = 0;
00069 
00070   if (this->removed_ == 0)
00071     {
00072       this->removed_ = 1;
00073       result = ACE_OS::flock_destroy (&this->lock_,
00074                                       unlink_file);
00075     }
00076   return result;
00077 }
00078 
00079 ACE_INLINE ACE_HANDLE
00080 ACE_File_Lock::get_handle (void) const
00081 {
00082 // ACE_TRACE ("ACE_File_Lock::get_handle");
00083   return this->lock_.handle_;
00084 }
00085 
00086 ACE_INLINE void
00087 ACE_File_Lock::set_handle (ACE_HANDLE h)
00088 {
00089 // ACE_TRACE ("ACE_File_Lock::set_handle");
00090   this->lock_.handle_ = h;
00091   this->removed_ = 0;
00092 }
00093 
00094 ACE_END_VERSIONED_NAMESPACE_DECL

Generated on Thu Nov 9 09:41:51 2006 for ACE by doxygen 1.3.6