80 case '+':
return &StgBoss;
82 case '&':
return &MigBoss;
83 case '<':
return &GetBoss;
85 case '>':
return &PutBoss;
116 Say.Emsg(
"Config",
"Output copy command not specified; "
117 "auto-migration disabled!");
119 }
else Say.Emsg(
"Config",
"No migratable paths; "
120 "auto-migration disabled!");
148 static int udpFD = -1;
162 {udpFD = udpSock->
Detach();
delete udpSock;
165 Say.Emsg(
"main", retc,
"create udp listner");
172 Request.
Attach(udpFD, 64*1024);
177 while((tp = Request.
GetLine()))
178 {
DEBUG(
": '" <<tp <<
"'");
181 case '!':
if ((tp = Request.
GetToken()))
183 {
if ((bossP = Boss(*tp))) bossP->
Wakeup(1);}
191 Say.Emsg(
"Server",
"Lost udp connection!");
XrdOucPup XrdCmsParser::Pup & Say
void * XrdFrmXfrDaemonPong(void *parg)
#define XRDSYSTHREAD_BIND
static int Unique(const char *lkfn, const char *myProg)
static void Migrate(int doinit=1)
int Start(char *aPath, int aMode)
void Wakeup(int PushIt=1)
static void Process(XrdOucStream &Request)
static XrdNetSocket * Create(XrdSysError *Say, const char *path, const char *fn, mode_t mode, int isudp=0)
int Attach(int FileDescriptor, int bsz=2047)
char * GetToken(int lowcase=0)
static int Run(pthread_t *, void *(*proc)(void *), void *arg, int opts=0, const char *desc=0)
static void Snooze(int seconds)