xrootd
|
#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 |
XrdSysXSLock::XrdSysXSLock | ( | ) | [inline] |
XrdSysXSLock::~XrdSysXSLock | ( | ) |
References cur_count, exc_wait, XrdSysMutex::Lock(), LockContext, shr_wait, and XrdSysMutex::UnLock().
void XrdSysXSLock::Lock | ( | const XrdSysXS_Type | usage | ) |
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 | ) |
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().
int XrdSysXSLock::cur_count [private] |
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
XrdSysXS_Type XrdSysXSLock::cur_usage [private] |
Referenced by Lock(), UnLock(), and XrdSysXSLock().
int XrdSysXSLock::exc_wait [private] |
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
XrdSysMutex XrdSysXSLock::LockContext [private] |
Referenced by Lock(), UnLock(), and ~XrdSysXSLock().
int XrdSysXSLock::shr_wait [private] |
Referenced by Lock(), UnLock(), XrdSysXSLock(), and ~XrdSysXSLock().
int XrdSysXSLock::toggle [private] |
Referenced by UnLock(), and XrdSysXSLock().
XrdSysSemaphore XrdSysXSLock::WantExc [private] |
XrdSysSemaphore XrdSysXSLock::WantShr [private] |