#include <XrdSysXSLock.hh>
Public Member Functions | |
void | Lock (const XrdSysXS_Type usage) |
void | UnLock (const XrdSysXS_Type usage=xs_None) |
XrdSysXSLock () | |
~XrdSysXSLock () | |
Private Attributes | |
XrdSysXS_Type | cur_usage |
int | cur_count |
int | exc_wait |
int | shr_wait |
int | toggle |
XrdSysMutex | LockContext |
XrdSysSemaphore | WantShr |
XrdSysSemaphore | WantExc |
Definition at line 26 of file XrdSysXSLock.hh.
XrdSysXSLock::XrdSysXSLock | ( | ) | [inline] |
XrdSysXSLock::~XrdSysXSLock | ( | ) |
Definition at line 22 of file XrdSysXSLock.cc.
References cur_count, exc_wait, XrdSysMutex::Lock(), LockContext, shr_wait, and XrdSysMutex::UnLock().
void XrdSysXSLock::Lock | ( | const XrdSysXS_Type | usage | ) |
Definition at line 39 of file XrdSysXSLock.cc.
References cur_count, cur_usage, exc_wait, XrdSysMutex::Lock(), LockContext, shr_wait, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), WantExc, WantShr, and xs_Shared.
Referenced by XrdAccAccess::Access(), and XrdAccAccess::SwapTabs().
void XrdSysXSLock::UnLock | ( | const XrdSysXS_Type | usage = xs_None |
) |
Definition at line 82 of file XrdSysXSLock.cc.
References cur_count, cur_usage, exc_wait, XrdSysMutex::Lock(), LockContext, XrdSysSemaphore::Post(), shr_wait, toggle, XrdSysMutex::UnLock(), WantExc, WantShr, and xs_Shared.
Referenced by XrdAccAccess::Access(), and XrdAccAccess::SwapTabs().
XrdSysXS_Type XrdSysXSLock::cur_usage [private] |
int XrdSysXSLock::cur_count [private] |
Definition at line 43 of file XrdSysXSLock.hh.
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
int XrdSysXSLock::exc_wait [private] |
Definition at line 44 of file XrdSysXSLock.hh.
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
int XrdSysXSLock::shr_wait [private] |
Definition at line 45 of file XrdSysXSLock.hh.
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
int XrdSysXSLock::toggle [private] |
XrdSysMutex XrdSysXSLock::LockContext [private] |
XrdSysSemaphore XrdSysXSLock::WantShr [private] |
XrdSysSemaphore XrdSysXSLock::WantExc [private] |