![]() |
XRootD
|
Public Member Functions | |
PollPoll (int &rc, int numfd, int pFD[2]) | |
~PollPoll () | |
![]() | |
Poller (int cFD, int rFD) | |
virtual | ~Poller () |
Destructor. Stop() is effecively called when this object is deleted. More... | |
void | Stop () |
Protected Member Functions | |
void | Begin (XrdSysSemaphore *syncp, int &rc, const char **eMsg) |
void | Exclude (Channel *cP, bool &isLocked, bool dover=1) |
bool | Include (Channel *cP, int &eNum, const char **eTxt, bool &isLocked) |
bool | Modify (Channel *cP, int &eNum, const char **eTxt, bool &isLocked) |
void | Shutdown () |
![]() | |
void | CbkTMO () |
bool | CbkXeq (Channel *cP, int events, int eNum, const char *eTxt) |
CPP_ATOMIC_TYPE (bool) wakePend | |
int | GetFault (Channel *cP) |
int | GetPollEnt (Channel *cP) |
int | GetRequest () |
bool | Init (Channel *cP, int &eNum, const char **eTxt, bool &isLockd) |
void | LockChannel (Channel *cP) |
int | Poll2Enum (short events) |
int | SendCmd (PipeData &cmd) |
void | SetPollEnt (Channel *cP, int ptEnt) |
bool | TmoAdd (Channel *cP, int tmoSet) |
void | TmoDel (Channel *cP) |
int | TmoGet () |
void | UnLockChannel (Channel *cP) |
Additional Inherited Members | |
![]() | |
enum | CreateOpts { optTOM } |
![]() | |
static Poller * | Create (int &eNum, const char **eTxt=0, int crOpts=0) |
![]() | |
Channel * | attBase |
bool | chDead |
int | cmdFD |
int | pipeBlen |
char * | pipeBuff |
struct pollfd | pipePoll |
pthread_t | pollTid |
PipeData | reqBuff |
int | reqFD |
Channel * | tmoBase |
unsigned char | tmoMask |
![]() | |
static time_t | maxTime = (sizeof(time_t) == 8 ? 0x7fffffffffffffffLL : 0x7fffffff) |
static pid_t | parentPID = getpid() |
Definition at line 49 of file XrdSysIOEventsPollPoll.icc.
XrdSys::IOEvents::PollPoll::PollPoll | ( | int & | rc, |
int | numfd, | ||
int | pFD[2] | ||
) |
Definition at line 122 of file XrdSysIOEventsPollPoll.icc.
|
inline |
Definition at line 54 of file XrdSysIOEventsPollPoll.icc.
References XrdSys::IOEvents::Poller::Stop().
|
protectedvirtual |
Start the polling event loop. An implementation must be supplied. Begin() is called via the internal BootStrap class from a new thread.
Implements XrdSys::IOEvents::Poller.
Definition at line 169 of file XrdSysIOEventsPollPoll.icc.
References XrdSysSemaphore::Post(), and XrdSysE2T().
|
protectedvirtual |
Remove a channel to the poll set. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 264 of file XrdSysIOEventsPollPoll.icc.
References XrdSys::IOEvents::Channel::GetFD(), and ISPOLLER.
|
protectedvirtual |
Add a channel to the poll set. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 367 of file XrdSysIOEventsPollPoll.icc.
References XrdSys::IOEvents::Channel::GetEvents(), XrdSys::IOEvents::Channel::GetFD(), and ISPOLLER.
|
protectedvirtual |
Modify the event status of a channel. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 451 of file XrdSysIOEventsPollPoll.icc.
References XrdSys::IOEvents::Channel::GetEvents(), XrdSys::IOEvents::Channel::GetFD(), and ISPOLLER.
|
protectedvirtual |
Shutdown the poller. An implementation must be supplied. The shutdown method must release any allocated storage and close private file descriptors. The polling thread will have already been terminated and x-thread pipe closed. Warning: the derived destructor must call Stop() and do nothing else!
Implements XrdSys::IOEvents::Poller.
Definition at line 513 of file XrdSysIOEventsPollPoll.icc.
References XrdSysMutex::Lock(), and XrdSysMutex::UnLock().