XRootD
XrdSysIOEvents.cc File Reference
#include <cstdio>
#include <cstdlib>
#include "XrdSys/XrdSysE2T.hh"
#include "XrdSys/XrdSysFD.hh"
#include "XrdSys/XrdSysIOEvents.hh"
#include "XrdSys/XrdSysHeaders.hh"
#include "XrdSys/XrdSysPlatform.hh"
#include "XrdSys/XrdSysPthread.hh"
#include "XrdSys/XrdSysIOEventsPollPoll.icc"
+ Include dependency graph for XrdSysIOEvents.cc:

Go to the source code of this file.

Classes

class  XrdSys::IOEvents::BootStrap
 
struct  XrdSys::IOEvents::pollArg
 
class  XrdSys::IOEvents::PollerErr1
 
class  XrdSys::IOEvents::PollerInit
 
class  XrdSys::IOEvents::PollerWait
 

Namespaces

 XrdSys
 
 XrdSys::IOEvents
 

Macros

#define BOOLNAME(x)   (x ? "true" : "false")
 
#define DO_TRACE(x, fd, y)
 
#define IF_TRACE(x, fd, y)   if (TRACING) DO_TRACE(x,fd,y)
 
#define INSERT(dlvar, curitem, newitem)
 
#define ISPOLLER   XrdSysThread::Same(XrdSysThread::ID(),pollTid)
 
#define REMOVE(dlbase, dlvar, curitem)
 
#define REVENTS(x)   x & Channel:: readEvents
 
#define SINGLETON(dlvar, theitem)    theitem ->dlvar .next == theitem
 
#define STATUS   statName[(int)chStat]
 
#define STATUSOF(x)   statName[(int)(x->chStat)]
 
#define TRACE_LOK   " channel now " <<(isLocked ? "locked" : "unlocked")
 
#define TRACE_MOD(x, fd, y)
 
#define TRACE_NOD(x, fd, y)    IF_TRACE(x,fd,"Modify(" <<y <<") skipped; no events changed")
 
#define TRACING   PollerInit::doTrace
 
#define WEVENTS(x)   x & Channel::writeEvents
 

Variables

PollerErr1 XrdSys::IOEvents::pollErr1
 
PollerInit XrdSys::IOEvents::pollInit
 
PollerWait XrdSys::IOEvents::pollWait
 

Macro Definition Documentation

◆ BOOLNAME

#define BOOLNAME (   x)    (x ? "true" : "false")

Definition at line 84 of file XrdSysIOEvents.cc.

◆ DO_TRACE

#define DO_TRACE (   x,
  fd,
 
)
Value:
{PollerInit::traceMTX.Lock(); \
std::cerr <<"IOE fd "<<fd<<' '<<#x <<": "<<y<<'\n'<< std::flush; \
PollerInit::traceMTX.UnLock();}

Definition at line 86 of file XrdSysIOEvents.cc.

◆ IF_TRACE

#define IF_TRACE (   x,
  fd,
 
)    if (TRACING) DO_TRACE(x,fd,y)

Definition at line 93 of file XrdSysIOEvents.cc.

◆ INSERT

#define INSERT (   dlvar,
  curitem,
  newitem 
)
Value:
newitem ->dlvar .next = curitem; \
newitem ->dlvar .prev = curitem ->dlvar .prev; \
curitem ->dlvar .prev-> dlvar .next = newitem; \
curitem ->dlvar .prev = newitem

Definition at line 64 of file XrdSysIOEvents.cc.

◆ ISPOLLER

#define ISPOLLER   XrdSysThread::Same(XrdSysThread::ID(),pollTid)

Definition at line 82 of file XrdSysIOEvents.cc.

◆ REMOVE

#define REMOVE (   dlbase,
  dlvar,
  curitem 
)
Value:
if (dlbase == curitem) dlbase = (SINGLETON(dlvar,curitem) \
? 0 : curitem ->dlvar .next);\
curitem ->dlvar .prev-> dlvar .next = curitem ->dlvar .next;\
curitem ->dlvar .next-> dlvar .prev = curitem ->dlvar .prev;\
curitem ->dlvar .next = curitem;\
curitem ->dlvar .prev = curitem
#define SINGLETON(dlvar, theitem)

Definition at line 70 of file XrdSysIOEvents.cc.

◆ REVENTS

#define REVENTS (   x)    x & Channel:: readEvents

Definition at line 78 of file XrdSysIOEvents.cc.

◆ SINGLETON

#define SINGLETON (   dlvar,
  theitem 
)     theitem ->dlvar .next == theitem

Definition at line 61 of file XrdSysIOEvents.cc.

◆ STATUS

#define STATUS   statName[(int)chStat]

Definition at line 57 of file XrdSysIOEvents.cc.

◆ STATUSOF

#define STATUSOF (   x)    statName[(int)(x->chStat)]

Definition at line 59 of file XrdSysIOEvents.cc.

◆ TRACE_LOK

#define TRACE_LOK   " channel now " <<(isLocked ? "locked" : "unlocked")

Definition at line 95 of file XrdSysIOEvents.cc.

◆ TRACE_MOD

#define TRACE_MOD (   x,
  fd,
 
)
Value:
IF_TRACE(x,fd,"Modify(" <<y <<") == " \
<<BOOLNAME(retval) <<TRACE_LOK)
#define IF_TRACE(x, fd, y)
#define TRACE_LOK
#define BOOLNAME(x)

Definition at line 97 of file XrdSysIOEvents.cc.

◆ TRACE_NOD

#define TRACE_NOD (   x,
  fd,
 
)     IF_TRACE(x,fd,"Modify(" <<y <<") skipped; no events changed")

Definition at line 101 of file XrdSysIOEvents.cc.

◆ TRACING

#define TRACING   PollerInit::doTrace

Definition at line 91 of file XrdSysIOEvents.cc.

◆ WEVENTS

#define WEVENTS (   x)    x & Channel::writeEvents

Definition at line 80 of file XrdSysIOEvents.cc.