00001
00002
00003
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
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
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
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
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
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
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
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
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
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
00083 return this->lock_.handle_;
00084 }
00085
00086 ACE_INLINE void
00087 ACE_File_Lock::set_handle (ACE_HANDLE h)
00088 {
00089
00090 this->lock_.handle_ = h;
00091 this->removed_ = 0;
00092 }
00093
00094 ACE_END_VERSIONED_NAMESPACE_DECL