XRootD
Loading...
Searching...
No Matches
XrdSysMutex Class Reference

#include <XrdSysPthread.hh>

Inheritance diagram for XrdSysMutex:
Collaboration diagram for XrdSysMutex:

Public Member Functions

 XrdSysMutex ()
 ~XrdSysMutex ()
int CondLock ()
void Lock ()
int TimedLock (int wait_ms)
void UnLock ()

Protected Attributes

pthread_mutex_t cs

Friends

class XrdSysCondVar2

Detailed Description

Definition at line 164 of file XrdSysPthread.hh.

Constructor & Destructor Documentation

◆ XrdSysMutex()

XrdSysMutex::XrdSysMutex ( )
inline

Definition at line 226 of file XrdSysPthread.hh.

226{pthread_mutex_init(&cs, NULL);}
pthread_mutex_t cs

References cs.

◆ ~XrdSysMutex()

XrdSysMutex::~XrdSysMutex ( )
inline

Definition at line 227 of file XrdSysPthread.hh.

227{pthread_mutex_destroy(&cs);}

References cs.

Member Function Documentation

◆ CondLock()

int XrdSysMutex::CondLock ( )
inline

Definition at line 169 of file XrdSysPthread.hh.

170 {if (pthread_mutex_trylock( &cs )) return 0;
171 return 1;
172 }

References cs.

Referenced by XrdSutPFCache::Get().

Here is the caller graph for this function:

◆ Lock()

void XrdSysMutex::Lock ( )
inline

Definition at line 222 of file XrdSysPthread.hh.

222{pthread_mutex_lock(&cs);}

References cs.

Referenced by XrdCmsClientMan::XrdCmsClientMan(), XrdCmsNode::XrdCmsNode(), XrdOucLock::XrdOucLock(), XrdPosixXrootd::XrdPosixXrootd(), XrdSecsssID::XrdSecsssID(), XrdSysMutexHelper::XrdSysMutexHelper(), XrdXrootdLockFileLock::XrdXrootdLockFileLock(), XrdOssArcBackupTask::~XrdOssArcBackupTask(), XrdOfsStats::Add(), XrdPosixFile::addOffset(), XrdOssCache::Adjust(), XrdOssCache::Adjust(), XrdLinkCtl::Alloc(), XrdNetBufferQ::Alloc(), XrdOucBuffPool::Alloc(), XrdSys::IOEvents::Poller::CbkXeq(), XrdLinkXeq::Close(), XrdBwmFile::close(), XrdOfsFile::close(), XrdXrootdAioTask::Completed(), XrdSecsssCon::Contact(), XrdOfsStats::Dec(), XrdPosixFile::DelayedDestroy(), XrdPosixFile::DelayedDestroy(), XrdBwmHandle::Dispatch(), XrdCmsNode::do_Stats(), XrdCmsBlackList::DoIt(), XrdOfsPrepGPIReal::PrepGRun::DoIt(), XrdOssArcStage::DoIt(), XrdPfc::DirectResponseHandler::Done(), XrdXrootdAioTask::Drain(), XrdCmsFinderRMT::Forward(), XrdOssCache_FS::freeSpace(), XrdOssPath::genPFN(), XrdXrootdAioTask::getBuff(), XrdXrootdMonitor::GetDictID(), XrdSsiClientProvider::GetService(), XrdOssCache_FS::getSpace(), XrdLink::Hold(), XrdLinkCtl::idleScan(), XrdSys::IOEvents::Poller::Init(), XrdSutPFCacheRef::Lock(), XrdSysMutexHelper::Lock(), XrdSys::IOEvents::Poller::LockChannel(), XrdCmsRRData::Objectify(), XrdBwmFile::open(), XrdOfsFile::open(), XrdCmsFinderRMT::Prepare(), XrdCmsBlackList::Present(), XrdNetUtils::ProtoID(), XrdLinkXeq::Recv(), XrdLinkXeq::RecvAll(), XrdNetBufferQ::Recycle(), XrdXrootdProtocol::Recycle(), XrdXrootdMonitor::Redirect(), XrdSecsssID::Register(), XrdCmsAdmin::Relay(), XrdOfsStats::Report(), XrdCms::MidNightTask::Ring(), XrdOfsTPCAuth::RunTTL(), XrdOssCache::Scan(), XrdLinkXeq::Send(), XrdLinkXeq::Send(), XrdLinkXeq::Send(), XrdXrootdMonitor::Send(), XrdLink::Serialize(), XrdNetBufferQ::Set(), XrdSsiClientProvider::SetCBThreads(), XrdSsiClientProvider::SetConfig(), XrdLink::setEtext(), XrdLinkXeq::setNB(), XrdPosixFile::setOffset(), XrdLinkXeq::setProtName(), XrdLinkXeq::setProtocol(), XrdLink::setRef(), XrdSsiClientProvider::SetTimeout(), XrdLinkXeq::Shutdown(), XrdSys::IOEvents::PollE::Shutdown(), XrdSys::IOEvents::PollKQ::Shutdown(), XrdSys::IOEvents::PollPoll::Shutdown(), XrdSys::IOEvents::PollPort::Shutdown(), sslTLS_lock(), XrdOssArcStage::Stage(), XrdOssSys::Stage_In(), XrdOssSys::Stage_QT(), XrdSsiStats::Stats(), XrdXrootdProtocol::Stats(), XrdXrootdStats::Stats(), XrdOssSys::StatVS(), XrdSys::IOEvents::Poller::Stop(), XrdXrootdProtocol::StreamNOP(), XrdLinkXeq::syncStats(), XrdLink::Terminate(), XrdPosixFile::updLock(), XrdPosixFile::UpdtSize(), XrdXrootdProtocol::VerifyStream(), and XrdFrmReqBoss::Wakeup().

Here is the caller graph for this function:

◆ TimedLock()

int XrdSysMutex::TimedLock ( int wait_ms)
inline

Definition at line 211 of file XrdSysPthread.hh.

212 {struct timespec wait;
213 clock_gettime(CLOCK_REALTIME, &wait);
214 wait.tv_sec += (wait_ms / 1000);
215 wait.tv_nsec += (wait_ms % 1000) * 1000000;
216 wait.tv_sec += (wait.tv_nsec / 1000000000);
217 wait.tv_nsec = wait.tv_nsec % 1000000000;
218 return !pthread_mutex_timedlock(&cs, &wait);
219 }

References cs.

◆ UnLock()

void XrdSysMutex::UnLock ( )
inline

Definition at line 224 of file XrdSysPthread.hh.

224{pthread_mutex_unlock(&cs);}

References cs.

Referenced by XrdCmsClientMan::XrdCmsClientMan(), XrdCmsNode::XrdCmsNode(), XrdPosixXrootd::XrdPosixXrootd(), XrdSecsssID::XrdSecsssID(), XrdOssArcBackupTask::~XrdOssArcBackupTask(), XrdOfsStats::Add(), XrdPosixFile::addOffset(), XrdOssCache::Adjust(), XrdOssCache::Adjust(), XrdLinkCtl::Alloc(), XrdNetBufferQ::Alloc(), XrdOucBuffPool::Alloc(), XrdLinkXeq::Close(), XrdBwmFile::close(), XrdOfsFile::close(), XrdXrootdAioTask::Completed(), XrdSecsssCon::Contact(), XrdOfsStats::Dec(), XrdPosixFile::DelayedDestroy(), XrdPosixFile::DelayedDestroy(), XrdBwmHandle::Dispatch(), XrdCmsNode::do_Stats(), XrdCmsBlackList::DoIt(), XrdOfsPrepGPIReal::PrepGRun::DoIt(), XrdOssArcStage::DoIt(), XrdPfc::DirectResponseHandler::Done(), XrdXrootdAioTask::Drain(), XrdCmsFinderRMT::Forward(), XrdOssCache_FS::freeSpace(), XrdOssPath::genPFN(), XrdXrootdAioTask::getBuff(), XrdXrootdMonitor::GetDictID(), XrdSsiClientProvider::GetService(), XrdOssCache_FS::getSpace(), XrdLink::Hold(), XrdLinkCtl::idleScan(), XrdSutPFCacheRef::Lock(), XrdCmsRRData::Objectify(), XrdBwmFile::open(), XrdOfsFile::open(), XrdCmsFinderRMT::Prepare(), XrdCmsBlackList::Present(), XrdNetUtils::ProtoID(), XrdLinkXeq::Recv(), XrdLinkXeq::RecvAll(), XrdNetBufferQ::Recycle(), XrdXrootdProtocol::Recycle(), XrdXrootdMonitor::Redirect(), XrdSecsssID::Register(), XrdCmsAdmin::Relay(), XrdOfsTPCInfo::Reply(), XrdOfsStats::Report(), XrdCms::MidNightTask::Ring(), XrdOfsTPCAuth::RunTTL(), XrdOssCache::Scan(), XrdLinkXeq::Send(), XrdLinkXeq::Send(), XrdLinkXeq::Send(), XrdXrootdMonitor::Send(), XrdLink::Serialize(), XrdNetBufferQ::Set(), XrdSutPFCacheRef::Set(), XrdSsiClientProvider::SetCBThreads(), XrdSsiClientProvider::SetConfig(), XrdLink::setEtext(), XrdLinkXeq::setNB(), XrdPosixFile::setOffset(), XrdLinkXeq::setProtName(), XrdLinkXeq::setProtocol(), XrdLink::setRef(), XrdSsiClientProvider::SetTimeout(), XrdLinkXeq::Shutdown(), XrdSys::IOEvents::PollE::Shutdown(), XrdSys::IOEvents::PollKQ::Shutdown(), XrdSys::IOEvents::PollPoll::Shutdown(), XrdSys::IOEvents::PollPort::Shutdown(), sslTLS_lock(), XrdOssArcStage::Stage(), XrdOssSys::Stage_In(), XrdOssSys::Stage_QT(), XrdSsiStats::Stats(), XrdXrootdProtocol::Stats(), XrdXrootdStats::Stats(), XrdOssSys::StatVS(), XrdSys::IOEvents::Poller::Stop(), XrdXrootdProtocol::StreamNOP(), XrdLinkXeq::syncStats(), XrdLink::Terminate(), XrdSutPFCacheRef::UnLock(), XrdSys::IOEvents::Poller::UnLockChannel(), XrdPosixFile::UpdtSize(), XrdPosixFile::updUnLock(), XrdXrootdProtocol::VerifyStream(), and XrdFrmReqBoss::Wakeup().

Here is the caller graph for this function:

◆ XrdSysCondVar2

friend class XrdSysCondVar2
friend

Definition at line 167 of file XrdSysPthread.hh.

References XrdSysCondVar2.

Referenced by XrdSysCondVar2.

Member Data Documentation

◆ cs

pthread_mutex_t XrdSysMutex::cs
protected

The documentation for this class was generated from the following file: