#include <XrdSysPthread.hh>
Public Member Functions | |
void | Lock () |
void | Signal () |
void | Broadcast () |
void | UnLock () |
int | Wait () |
int | Wait (int sec) |
int | WaitMS (int msec) |
XrdSysCondVar (int relm=1, const char *cid=0) | |
~XrdSysCondVar () | |
Private Attributes | |
pthread_cond_t | cvar |
pthread_mutex_t | cmut |
int | relMutex |
const char * | condID |
Definition at line 36 of file XrdSysPthread.hh.
XrdSysCondVar::XrdSysCondVar | ( | int | relm = 1 , |
|
const char * | cid = 0 | |||
) | [inline] |
Definition at line 58 of file XrdSysPthread.hh.
References cmut, condID, cvar, NULL, pthread_cond_init(), pthread_mutex_init(), and relMutex.
XrdSysCondVar::~XrdSysCondVar | ( | ) | [inline] |
Definition at line 64 of file XrdSysPthread.hh.
References cmut, cvar, pthread_cond_destroy(), and pthread_mutex_destroy().
void XrdSysCondVar::Lock | ( | ) | [inline] |
Definition at line 40 of file XrdSysPthread.hh.
References cmut, and pthread_mutex_lock().
Referenced by XrdOfsHanXpr::add2Q(), XrdCmsClientMsg::Alloc(), XrdClientConn::CheckREQConnectWaitState(), XrdClientConn::CheckREQPauseState(), XrdSysSemWait::CondWait(), XrdClientConnectionMgr::Connect(), XrdOfsHanXpr::Deref(), XrdOfsHanXpr::Get(), XrdClient::IsOpen_inprogress(), XrdClient::IsOpen_wait(), XrdCmsClientMsg::Lock(), XrdSysCondVarHelper::Lock(), XrdBuffManager::Obtain(), XrdSysSemWait::Post(), XrdClientConn::ProcessAsynResp(), XrdClient::Read(), XrdBuffManager::Release(), XrdCmsClientMsg::RemFromWaitQ(), XrdBuffManager::Reshape(), XrdBuffManager::Set(), XrdOfsHanXpr::Set(), XrdClientConn::SetREQDelayedConnectState(), XrdClientConn::SetREQPauseState(), XrdBuffManager::Stats(), XrdLink::Terminate(), XrdClient::TerminateOpenAttempt(), Wait(), XrdSysSemWait::Wait(), WaitMS(), XrdClientConn::WaitResp(), XrdSysCondVarHelper::XrdSysCondVarHelper(), and XrdClient::~XrdClient().
void XrdSysCondVar::Signal | ( | ) | [inline] |
Definition at line 42 of file XrdSysPthread.hh.
References cmut, cvar, pthread_cond_signal(), pthread_mutex_lock(), pthread_mutex_unlock(), and relMutex.
Referenced by XrdOfsHanXpr::add2Q(), XrdLink::Close(), XrdCpMthrQueue::GetBuffer(), XrdBuffManager::Obtain(), XrdSysSemWait::Post(), XrdClientConn::ProcessAsynResp(), XrdMonCtrBuffer::push_back(), XrdCmsClientMsg::Reply(), and XrdScheduler::Schedule().
void XrdSysCondVar::Broadcast | ( | ) | [inline] |
Definition at line 47 of file XrdSysPthread.hh.
References cmut, cvar, pthread_cond_broadcast(), pthread_mutex_lock(), pthread_mutex_unlock(), and relMutex.
Referenced by XrdClientConnectionMgr::Connect(), XrdClient::ProcessUnsolicitedMsg(), XrdClientConn::SetREQDelayedConnectState(), XrdClientConn::SetREQPauseState(), XrdClient::TerminateOpenAttempt(), and XrdClientConn::UnPinCacheBlk().
void XrdSysCondVar::UnLock | ( | void | ) | [inline] |
Definition at line 52 of file XrdSysPthread.hh.
References cmut, and pthread_mutex_unlock().
Referenced by XrdOfsHanXpr::add2Q(), XrdClientConn::CheckREQConnectWaitState(), XrdClientConn::CheckREQPauseState(), XrdLink::Close(), XrdSysSemWait::CondWait(), XrdClientConnectionMgr::Connect(), XrdOfsHanXpr::Deref(), XrdOfsHanXpr::Get(), XrdClient::IsOpen_inprogress(), XrdClient::IsOpen_wait(), XrdSysCondVarHelper::Lock(), XrdBuffManager::Obtain(), XrdSysSemWait::Post(), XrdClientConn::ProcessAsynResp(), XrdClient::Read(), XrdCmsClientMsg::Recycle(), XrdBuffManager::Release(), XrdCmsClientMsg::RemFromWaitQ(), XrdCmsClientMsg::Reply(), XrdBuffManager::Reshape(), XrdBuffManager::Set(), XrdOfsHanXpr::Set(), XrdClientConn::SetREQDelayedConnectState(), XrdClientConn::SetREQPauseState(), XrdBuffManager::Stats(), XrdLink::Terminate(), XrdClient::TerminateOpenAttempt(), XrdCmsClientMsg::UnLock(), XrdSysCondVarHelper::UnLock(), Wait(), XrdSysSemWait::Wait(), WaitMS(), XrdClientConn::WaitResp(), and XrdClient::~XrdClient().
int XrdSysCondVar::Wait | ( | ) |
Definition at line 100 of file XrdSysPthread.cc.
References cmut, cvar, Lock(), pthread_cond_wait(), relMutex, and UnLock().
Referenced by XrdClientConn::CheckREQConnectWaitState(), XrdClientConn::CheckREQPauseState(), XrdClientConnectionMgr::Connect(), XrdClientConn::DoWriteHardCheckPoint(), XrdOfsHanXpr::Get(), XrdClient::IsOpen_wait(), XrdMonCtrBuffer::pop_front(), XrdCpMthrQueue::PutBuffer(), XrdClient::Read(), XrdBuffManager::Reshape(), XrdLink::Terminate(), XrdScheduler::TimeSched(), XrdSysSemWait::Wait(), XrdCmsClientMsg::Wait4Reply(), XrdClient::WaitForNewAsyncData(), and XrdClientConn::WaitResp().
int XrdSysCondVar::Wait | ( | int | sec | ) |
Definition at line 114 of file XrdSysPthread.cc.
References cmut, cvar, ETIMEDOUT, Lock(), pthread_cond_timedwait(), relMutex, tval, and UnLock().
int XrdSysCondVar::WaitMS | ( | int | msec | ) |
Definition at line 141 of file XrdSysPthread.cc.
References cmut, cvar, ETIMEDOUT, gettimeofday(), Lock(), pthread_cond_timedwait(), relMutex, tval, and UnLock().
pthread_cond_t XrdSysCondVar::cvar [private] |
Definition at line 69 of file XrdSysPthread.hh.
Referenced by Broadcast(), Signal(), Wait(), WaitMS(), XrdSysCondVar(), and ~XrdSysCondVar().
pthread_mutex_t XrdSysCondVar::cmut [private] |
Definition at line 70 of file XrdSysPthread.hh.
Referenced by Broadcast(), Lock(), Signal(), UnLock(), Wait(), WaitMS(), XrdSysCondVar(), and ~XrdSysCondVar().
int XrdSysCondVar::relMutex [private] |
Definition at line 71 of file XrdSysPthread.hh.
Referenced by Broadcast(), Signal(), Wait(), WaitMS(), and XrdSysCondVar().
const char* XrdSysCondVar::condID [private] |