XRootD
Loading...
Searching...
No Matches
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

namespace  XrdSys
namespace  XrdSys::IOEvents

Macros

#define BOOLNAME(x)
#define DO_TRACE(x, fd, y)
#define IF_TRACE(x, fd, y)
#define INSERT(dlvar, curitem, newitem)
#define ISPOLLER   XrdSysThread::Same(XrdSysThread::ID(),pollTid)
#define REMOVE(dlbase, dlvar, curitem)
#define REVENTS(x)
#define SINGLETON(dlvar, theitem)
#define STATUS   statName[(int)chStat]
#define STATUSOF(x)
#define TRACE_LOK   " channel now " <<(isLocked ? "locked" : "unlocked")
#define TRACE_MOD(x, fd, y)
#define TRACE_NOD(x, fd, y)
#define TRACING   PollerInit::doTrace
#define WEVENTS(x)

Variables

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

Macro Definition Documentation

◆ BOOLNAME

◆ DO_TRACE

#define DO_TRACE ( x,
fd,
y )
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.

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

Referenced by XrdSys::IOEvents::Poller::CbkXeq().

◆ IF_TRACE

◆ 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.

64#define INSERT(dlvar, curitem, newitem) \
65 newitem ->dlvar .next = curitem; \
66 newitem ->dlvar .prev = curitem ->dlvar .prev; \
67 curitem ->dlvar .prev-> dlvar .next = newitem; \
68 curitem ->dlvar .prev = newitem

◆ ISPOLLER

◆ 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.

70#define REMOVE(dlbase, dlvar, curitem) \
71 if (dlbase == curitem) dlbase = (SINGLETON(dlvar,curitem) \
72 ? 0 : curitem ->dlvar .next);\
73 curitem ->dlvar .prev-> dlvar .next = curitem ->dlvar .next;\
74 curitem ->dlvar .next-> dlvar .prev = curitem ->dlvar .prev;\
75 curitem ->dlvar .next = curitem;\
76 curitem ->dlvar .prev = curitem

◆ REVENTS

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

Definition at line 78 of file XrdSysIOEvents.cc.

Referenced by XrdSys::IOEvents::Poller::CbkXeq(), XrdSys::IOEvents::Channel::Enable(), and XrdSys::IOEvents::Poller::TmoAdd().

◆ SINGLETON

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

Definition at line 61 of file XrdSysIOEvents.cc.

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

◆ STATUS

#define STATUS   statName[(int)chStat]

Definition at line 57 of file XrdSysIOEvents.cc.

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

◆ STATUSOF

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

Definition at line 59 of file XrdSysIOEvents.cc.

Referenced by XrdSys::IOEvents::Poller::TmoAdd(), and XrdSys::IOEvents::Poller::TmoDel().

◆ TRACE_LOK

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

Definition at line 95 of file XrdSysIOEvents.cc.

Referenced by XrdSys::IOEvents::Poller::Init().

◆ TRACE_MOD

#define TRACE_MOD ( x,
fd,
y )
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.

97#define TRACE_MOD(x,fd,y) \
98 IF_TRACE(x,fd,"Modify(" <<y <<") == " \
99 <<BOOLNAME(retval) <<TRACE_LOK)

Referenced by XrdSys::IOEvents::Poller::CbkXeq(), XrdSys::IOEvents::Channel::Disable(), XrdSys::IOEvents::Channel::Enable(), and XrdSys::IOEvents::Poller::Init().

◆ TRACE_NOD

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

Definition at line 101 of file XrdSysIOEvents.cc.

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

Referenced by XrdSys::IOEvents::Channel::Disable(), XrdSys::IOEvents::Channel::Enable(), and XrdSys::IOEvents::Poller::Init().

◆ TRACING

#define TRACING   PollerInit::doTrace

Definition at line 91 of file XrdSysIOEvents.cc.

◆ WEVENTS

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

Definition at line 80 of file XrdSysIOEvents.cc.

Referenced by XrdSys::IOEvents::Poller::CbkXeq(), XrdSys::IOEvents::Channel::Enable(), and XrdSys::IOEvents::Poller::TmoAdd().