00001
00002
00003
00004
00005 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00006
00007 ACE_INLINE int
00008 ACE_File_Lock::acquire_read (short whence, ACE_OFF_T start, ACE_OFF_T len)
00009 {
00010
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, ACE_OFF_T start, ACE_OFF_T len)
00016 {
00017
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, ACE_OFF_T start, ACE_OFF_T len)
00023 {
00024
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,
00030 ACE_OFF_T start,
00031 ACE_OFF_T len)
00032 {
00033
00034 return ACE_OS::flock_trywrlock (&this->lock_, whence, start, len);
00035 }
00036
00037 ACE_INLINE int
00038 ACE_File_Lock::tryacquire (short whence, ACE_OFF_T start, ACE_OFF_T len)
00039 {
00040
00041 return this->tryacquire_write (whence, start, len);
00042 }
00043
00044 ACE_INLINE int
00045 ACE_File_Lock::acquire_write (short whence, ACE_OFF_T start, ACE_OFF_T len)
00046 {
00047
00048 return ACE_OS::flock_wrlock (&this->lock_, whence, start, len);
00049 }
00050
00051 ACE_INLINE int
00052 ACE_File_Lock::acquire (short whence, ACE_OFF_T start, ACE_OFF_T len)
00053 {
00054
00055 return this->acquire_write (whence, start, len);
00056 }
00057
00058 ACE_INLINE int
00059 ACE_File_Lock::release (short whence, ACE_OFF_T start, ACE_OFF_T len)
00060 {
00061
00062 return ACE_OS::flock_unlock (&this->lock_, whence, start, len);
00063 }
00064
00065 ACE_INLINE int
00066 ACE_File_Lock::remove (int unlink_file)
00067 {
00068
00069
00070 int result = 0;
00071
00072 if (this->removed_ == 0)
00073 {
00074 this->removed_ = 1;
00075 result = ACE_OS::flock_destroy (&this->lock_,
00076 unlink_file);
00077 }
00078 return result;
00079 }
00080
00081 ACE_INLINE ACE_HANDLE
00082 ACE_File_Lock::get_handle (void) const
00083 {
00084
00085 return this->lock_.handle_;
00086 }
00087
00088 ACE_INLINE void
00089 ACE_File_Lock::set_handle (ACE_HANDLE h)
00090 {
00091
00092 this->lock_.handle_ = h;
00093 this->removed_ = 0;
00094 }
00095
00096 ACE_END_VERSIONED_NAMESPACE_DECL