XRootD
Loading...
Searching...
No Matches
XrdSysAtomics.hh File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AtomicAdd(x, y)   x += y
 
#define AtomicBeg(Mtx)   Mtx.Lock()
 
#define AtomicCAS(x, y, z)   if (x == y) x = z
 
#define AtomicDec(x)   x--
 
#define AtomicEnd(Mtx)   Mtx.UnLock()
 
#define AtomicFAdd(w, x, y)   {w = x; x += y;}
 
#define AtomicFAZ(x)   x; x = 0
 
#define AtomicFSub(w, x, y)   {w = x; x -= y;}
 
#define AtomicFZAP(w, x)   {w = x; x = 0;}
 
#define AtomicGet(x)   x
 
#define AtomicInc(x)   x++
 
#define AtomicRet(mtx, x)
 
#define AtomicSub(x, y)   x -= y
 
#define AtomicZAP(x)   x = 0
 
#define CPP_ATOMIC_LOAD(x, order)   x
 
#define CPP_ATOMIC_STORE(x, val, order)   x = val
 
#define CPP_ATOMIC_TYPE(kind)   kind
 

Macro Definition Documentation

◆ AtomicAdd

◆ AtomicBeg

◆ AtomicCAS

#define AtomicCAS ( x,
y,
z )   if (x == y) x = z

Definition at line 67 of file XrdSysAtomics.hh.

Referenced by XrdCl::DefaultEnv::GetPostMaster().

◆ AtomicDec

◆ AtomicEnd

◆ AtomicFAdd

#define AtomicFAdd ( w,
x,
y )   {w = x; x += y;}

Definition at line 66 of file XrdSysAtomics.hh.

◆ AtomicFAZ

#define AtomicFAZ ( x)    x; x = 0

Definition at line 69 of file XrdSysAtomics.hh.

Referenced by XrdLinkXeq::syncStats().

◆ AtomicFSub

#define AtomicFSub ( w,
x,
y )   {w = x; x -= y;}

Definition at line 74 of file XrdSysAtomics.hh.

◆ AtomicFZAP

#define AtomicFZAP ( w,
x )   {w = x; x = 0;}

Definition at line 70 of file XrdSysAtomics.hh.

◆ AtomicGet

◆ AtomicInc

◆ AtomicRet

#define AtomicRet ( mtx,
x )
Value:
{mtx.Lock(); int _ ## x = x; \
mtx.UnLock(); return _ ## x;}

Definition at line 76 of file XrdSysAtomics.hh.

76#define AtomicRet(mtx, x) {mtx.Lock(); int _ ## x = x; \
77 mtx.UnLock(); return _ ## x;}

Referenced by XrdCmsClientMan::isActive(), XrdPosixFile::Offset(), XrdPosixObject::Refs(), and XrdCmsClientMan::waitTime().

◆ AtomicSub

#define AtomicSub ( x,
y )   x -= y

Definition at line 73 of file XrdSysAtomics.hh.

◆ AtomicZAP

#define AtomicZAP ( x)    x = 0

◆ CPP_ATOMIC_LOAD

#define CPP_ATOMIC_LOAD ( x,
order )   x

Definition at line 95 of file XrdSysAtomics.hh.

Referenced by XrdSys::IOEvents::Channel::Enable().

◆ CPP_ATOMIC_STORE

#define CPP_ATOMIC_STORE ( x,
val,
order )   x = val

◆ CPP_ATOMIC_TYPE

#define CPP_ATOMIC_TYPE ( kind)    kind

Definition at line 97 of file XrdSysAtomics.hh.