50#   include <sys/types.h> 
   57#include "RConfigure.h" 
  133         a = Getline(
"\nSwitch to asynchronous mode not supported remotely:" 
  134                     "\nEnter S/s to stop, Q/q to quit, any other key to continue: ");
 
  136         a = Getline(
"\nEnter A/a to switch asynchronous, S/s to stop, Q/q to quit," 
  137                     " any other key to continue: ");
 
  139      if (
a[0] == 
'Q' || 
a[0] == 
'S' || 
a[0] == 
'q' || 
a[0] == 
's') {
 
  141         Info(
"Notify",
"Processing interrupt signal ... %c", 
a[0]);
 
  162                     fSocket(s), fProof(
p)
 
  193   while (myord && otherord) {
 
  194      Int_t myval = atoi(myord);
 
  195      Int_t otherval = atoi(otherord);
 
  196      if (myval < otherval) 
return 1;
 
  197      if (myval > otherval) 
return -1;
 
  198      myord = strchr(myord, 
'.');
 
  200      otherord = strchr(otherord, 
'.');
 
  201      if (otherord) otherord++;
 
  203   if (myord) 
return -1;
 
  204   if (otherord) 
return 1;
 
  301      Error(
"SetMergedWorker", 
"all workers have been already merged before!");
 
  314      Error(
"AddWorker", 
"all workers have been already assigned to this merger");
 
  368   if( 0 == _cluster->
Length() ) {
 
  369      Error(
"PoDCheckUrl", 
"PoD server is not running");
 
  409   if (!masterurl || strlen(masterurl) <= 0) {
 
  412   } 
else if (!(strstr(masterurl, 
"://"))) {
 
  449   } 
else if (
fMaster == 
"prooflite") {
 
  458   Init(masterurl, conffile, confdir, loglevel, alias);
 
  463      if (
Exec(
"gProofServ->GetUser()", 
"0", 
kTRUE) == 0) {
 
  470            emsg = 
"could not find 'const char *' string in macro log";
 
  473         emsg = 
"could not retrieve user info";
 
  482         Warning(
"TProof", 
"%s: using local default %s", emsg.
Data(), usr.
Data());
 
  492      gROOT->GetListOfSockets()->Remove(mgr);
 
  493      gROOT->GetListOfSockets()->Add(mgr);
 
  498      if (!
gROOT->GetListOfProofs()->FindObject(
this))
 
  499         gROOT->GetListOfProofs()->Add(
this);
 
  518   if (!
gROOT->GetListOfProofs()->FindObject(
this))
 
  519      gROOT->GetListOfProofs()->Add(
this);
 
  626      while (envs.Tokenize(env, from, 
",")) {
 
  629               Warning(
"Init", 
"request for sending over undefined environemnt variable '%s' - ignoring", env.
Data());
 
  631               if (!envsfound.
IsNull()) envsfound += 
",";
 
  639         Warning(
"Init", 
"none of the requested env variables were found: '%s'", envs.Data());
 
  641         Info(
"Init", 
"the following environment variables have been added to the list to be sent to the nodes: '%s'", envsfound.
Data());
 
  730   gROOT->GetListOfProofs()->Remove(
this);
 
  746   Emit(
"CloseWindow()");
 
  758                   const char *confdir, 
Int_t loglevel, 
const char *alias)
 
  782      if (!conffile || !conffile[0])
 
  784      if (!confdir  || !confdir[0])
 
  840         Error(
"Init", 
"could not create temporary logfile");
 
  842         Error(
"Init", 
"could not open temp logfile for reading");
 
  904   if (enableSchemaEvolution) {
 
  907      Info(
"TProof", 
"automatic schema evolution in TMessage explicitly disabled");
 
  917         Error(
"Init", 
"failure asserting sandbox directory %s", sandbox.
Data());
 
  926         Error(
"Init", 
"failure asserting directory %s", packdir.
Data());
 
  931         Info(
"Init", 
"package directory set to %s", packdir.
Data());
 
  940         Info(
"Init", 
" %d global package directories registered", nglb);
 
  962            GetRC(
"Proof.DynamicStartup", dyn);
 
 1002      gROOT->GetListOfSockets()->Add(
this);
 
 1027   } 
else if (sb == 
"..") {
 
 1052   const char *cq = (
IsLite()) ? 
"\"" : 
"";
 
 1053   while (sconf.Tokenize(opt, from, 
",")) {
 
 1054      if (opt.
IsNull()) 
continue;
 
 1061         TString mst, top, sub, wrk, all;
 
 1066               all = 
n->GetTitle();
 
 1068               mst = 
n->GetTitle();
 
 1070               top = 
n->GetTitle();
 
 1072               sub = 
n->GetTitle();
 
 1074               wrk = 
n->GetTitle();
 
 1076         if (all != 
"" && mst == 
"") mst = all;
 
 1077         if (all != 
"" && top == 
"") top = all;
 
 1078         if (all != 
"" && sub == 
"") sub = all;
 
 1079         if (all != 
"" && wrk == 
"") wrk = all;
 
 1080         if (all != 
"" && all.
BeginsWith(
"valgrind_opts:")) {
 
 1082            Info(
"ParseConfigField",
"valgrind run: resetting 'PROOF_WRAPPERCMD':" 
 1083                                    " must be set again for next run , if any");
 
 1087         cmd.
Form(
"%svalgrind -v --suppressions=<rootsys>/etc/valgrind-root.supp", cq);
 
 1088         TString mstlab(
"NO"), wrklab(
"NO");
 
 1089         Bool_t doMaster = (opt == 
"valgrind" || (opt.
Contains(
"master") &&
 
 1095               if (mst == 
"" || mst.
BeginsWith(
"valgrind_opts:")) {
 
 1097                  var.
Form(
"%s --log-file=<logfilemst>.valgrind.log %s", cmd.
Data(), mst.
Data());
 
 1100               } 
else if (mst != 
"") {
 
 1106                        "master valgrinding does not make sense for PROOF-Lite: ignoring");
 
 1108                  if (!opt.
Contains(
"workers")) 
return;
 
 1110               if (opt == 
"valgrind" || opt == 
"valgrind=") opt = 
"valgrind=workers";
 
 1115            if (top == 
"" || top.
BeginsWith(
"valgrind_opts:")) {
 
 1117               var.
Form(
"%s --log-file=<logfilemst>.valgrind.log %s", cmd.
Data(), top.
Data());
 
 1120            } 
else if (top != 
"") {
 
 1126            if (sub == 
"" || sub.
BeginsWith(
"valgrind_opts:")) {
 
 1128               var.
Form(
"%s --log-file=<logfilemst>.valgrind.log %s", cmd.
Data(), sub.
Data());
 
 1131            } 
else if (sub != 
"") {
 
 1137            if (wrk == 
"" || wrk.
BeginsWith(
"valgrind_opts:")) {
 
 1139               var.
Form(
"%s --log-file=<logfilewrk>.__valgrind__.log %s%s", cmd.
Data(), wrk.
Data(), cq);
 
 1144                  nwrks = opt(inw+1, opt.
Length());
 
 1145                  if (!nwrks.
IsDigit()) nwrks = 
"2";
 
 1157            } 
else if (wrk != 
"") {
 
 1171            Printf(
" ---> Starting a debug run with valgrind (master:%s, workers:%s)", mstlab.Data(), wrklab.
Data());
 
 1173            Printf(
" ---> Starting a debug run with valgrind (workers:%s)", wrklab.
Data());
 
 1175         Printf(
" ---> Please be patient: startup may be VERY slow ...");
 
 1176         Printf(
" ---> Logs will be available as special tags in the log window (from the progress dialog or TProof::LogViewer()) ");
 
 1177         Printf(
" ---> (Reminder: this debug run makes sense only if you are running a debug version of ROOT)");
 
 1186         Printf(
"*** Requested IgProf performance profiling ***");
 
 1187         TString addLogExt = 
"__igprof.pp__.log";
 
 1188         TString addLogFmt = 
"igprof -pk -pp -t proofserv.exe -o %s.%s";
 
 1196         tmp.
Form(addLogFmt.
Data(), 
"<logfilemst>", addLogExt.
Data());
 
 1199         tmp.
Form(addLogFmt.
Data(), 
"<logfilewrk>", addLogExt.
Data());
 
 1225            if ((
c != 
'+') && ((
c < 
'0') || (
c > 
'9')))
 
 1246   if (
IsLite() && cpuPin) {
 
 1247      Printf(
"*** Requested CPU pinning ***");
 
 1249      const char *pinCmd = 
"taskset -c <cpupin>";
 
 1252      if (ev && (
p = 
dynamic_cast<TNamed *
>(ev->
FindObject(
"PROOF_SLAVE_WRAPPERCMD")))) {
 
 1258         val.
Form(
"\"%s\"", pinCmd);
 
 1271   if (!inpath || strlen(inpath) <= 0) {
 
 1272      Error(
"AssertPath", 
"undefined input path");
 
 1281         Error(
"AssertPath", 
"could not create path %s", path.
Data());
 
 1288         Error(
"AssertPath", 
"could not make path %s writable", path.
Data());
 
 1307      gROOT->GetListOfSockets()->Remove(mgr);
 
 1308      gROOT->GetListOfSockets()->Add(mgr);
 
 1323      Error(
"AddWorkers", 
"AddWorkers can only be called on the master!");
 
 1327   if (!workerList || !(workerList->
GetSize())) {
 
 1328      Error(
"AddWorkers", 
"empty list of workers!");
 
 1349   if (!addedWorkers) {
 
 1351      Error(
"AddWorkers", 
"cannot create new list for the workers to be added");
 
 1359   while ((to = next())) {
 
 1408         addedWorkers->
Add(slave);
 
 1416         Info(
"AddWorkers", 
"worker on host %s created" 
 1422      m << 
TString(
"Opening connections to workers") << nSlaves
 
 1423        << nSlavesDone << slaveOk;
 
 1437   TIter nxsl(addedWorkers);
 
 1439   while ((sl = (
TSlave *) nxsl())) {
 
 1450         Info(
"AddWorkers", 
"worker on host %s finalized" 
 1460      m << 
TString(
"Setting up worker servers") << nSlaves
 
 1461        << nSlavesDone << slaveOk;
 
 1480         Info(
"AddWorkers", 
"will invoke GoMoreParallel()");
 
 1483         Info(
"AddWorkers", 
"GoMoreParallel()=%d", nw);
 
 1489         Info(
"AddWorkers", 
"will invoke GoParallel()");
 
 1498      Info(
"AddWorkers", 
"will invoke SaveWorkerInfo()");
 
 1504         Info(
"AddWorkers", 
"will invoke SendParallel()");
 
 1507      if (goMoreParallel && 
fPlayer) {
 
 1512            Info(
"AddWorkers", 
"will send the PROCESS message to selected workers");
 
 1520   delete addedWorkers;
 
 1533   if (packs && packs->
GetSize() > 0) {
 
 1536      while ((pck = (
TPair *) nxp())) {
 
 1542               Info(
"SetupWorkersEnv", 
"will invoke UploadPackage() and EnablePackage() on added workers");
 
 1547               Info(
"SetupWorkersEnv", 
"will invoke UploadPackage() and EnablePackage() on all workers");
 
 1556      delete server_packs;
 
 1565            Info(
"SetupWorkersEnv", 
"will invoke Load() on selected workers");
 
 1577      Info(
"SetupWorkersEnv", 
"will invoke AddDynamicPath() on selected workers");
 
 1585      Info(
"SetupWorkersEnv", 
"will invoke AddIncludePath() on selected workers");
 
 1600      Error(
"RemoveWorkers", 
"RemoveWorkers can only be called on the master!");
 
 1610      while ((sl = (
TSlave *) nxsl())) {
 
 1616      if (!(workerList->
GetSize())) {
 
 1617         Error(
"RemoveWorkers", 
"The list of workers should not be empty!");
 
 1625      while ((to = next())) {
 
 1627         if (!strcmp(to->
ClassName(), 
"TProofNodeInfo")) {
 
 1631            while ((sl = (
TSlave *) nxsl())) {
 
 1639            Warning(
"RemoveWorkers",
"unknown object type: %s - it should be" 
 1640                  " TProofNodeInfo or inheriting from TSlave", to->
ClassName());
 
 1670         TString emsg(
"no resource currently available for this session: please retry later");
 
 1682      Printf(
"Starting master: opening connection ...");
 
 1688         fprintf(stderr,
"Starting master:" 
 1689                        " connection open: setting up server ...             \r");
 
 1703               Printf(
"Starting master: OK                                     ");
 
 1709                  Error(
"StartSlaves",
 
 1710                        "client and remote protocols not compatible (%d and %d)",
 
 1729               if (slStatus == -99 || slStatus == -98 || rc == 0) {
 
 1732                  if (slStatus == -99)
 
 1733                     Error(
"StartSlaves", 
"no resources available or problems setting up workers (check logs)");
 
 1734                  else if (slStatus == -98)
 
 1735                     Error(
"StartSlaves", 
"could not setup output redirection on master");
 
 1737                     Error(
"StartSlaves", 
"setting up master");
 
 1748                  Error(
"StartSlaves",
 
 1749                        "failed to setup connection with PROOF master server");
 
 1755                     gROOT->GetPluginManager()->FindHandler(
"TProofProgressDialog")))
 
 1761               Printf(
"Starting master: failure");
 
 1766            Printf(
"Starting master: OK                                     ");
 
 1771                  gROOT->GetPluginManager()->FindHandler(
"TProofProgressDialog")))
 
 1784            Error(
"StartSlaves", 
"failed to create (or connect to) the PROOF master server");
 
 1800   {  std::lock_guard<std::recursive_mutex> lock(
fCloseMutex);
 
 1809         while ((sl = (
TSlave *)nxs()))
 
 1823      gROOT->GetListOfSockets()->Remove(
this);
 
 1835         gROOT->GetListOfProofs()->Remove(
this);
 
 1854                            Int_t perf, 
const char *image, 
const char *workdir)
 
 1876                                const char *image, 
const char *msd, 
Int_t nwk)
 
 1896   while ((sl = (
TSlave *)next())) {
 
 1923      if (
fImage == sl->fImage) {
 
 1933      TSlave *replace_slave = 0;
 
 1936         if (sl->fImage == sl2->fImage) {
 
 1941                  replace_slave = sl2;
 
 1948                  Error(
"FindUniqueSlaves", 
"TSlave is neither Master nor Slave");
 
 1961         if (replace_slave) {
 
 2053            if (s.
Contains(
"Total MB's processed:")) {
 
 2056            } 
else if (s.
Contains(
"Total real time used (s):")) {
 
 2057               s.
ReplaceAll(
"Total real time used (s):", 
"");
 
 2059            } 
else if (s.
Contains(
"Total CPU time used (s):")) {
 
 2060               s.
ReplaceAll(
"Total CPU time used (s):", 
"");
 
 2069      Printf(
" Real/CPU time (s): %.3f / %.3f; workers: %d; processed: %.2f MBs",
 
 2173      Printf(
"+++ Options: \"A\" show all queries known to server");
 
 2174      Printf(
"+++          \"L\" show retrieved queries");
 
 2175      Printf(
"+++          \"F\" full listing of query info");
 
 2176      Printf(
"+++          \"H\" print this menu");
 
 2178      Printf(
"+++ (case insensitive)");
 
 2180      Printf(
"+++ Use Retrieve(<#>) to retrieve the full" 
 2181             " query results from the master");
 
 2182      Printf(
"+++     e.g. Retrieve(8)");
 
 2212      Printf(
"+++ Queries processed during this session: selector: %d, draw: %d",
 
 2214      while ((pq = nxq()))
 
 2221      Printf(
"+++ Queries processed during this session: selector: %d, draw: %d",
 
 2228         Printf(
"+++ Queries available locally: %d", listlocal->
GetSize());
 
 2229         TIter nxlq(listlocal);
 
 2230         while ((pq = nxlq()))
 
 2246   while (
TSlave *sl = 
dynamic_cast<TSlave*
>(nextSlave())) {
 
 2256   if (submasters.
GetSize() > 0) {
 
 2264   EmitVA(
"IsDataReady(Long64_t,Long64_t)", 2, totalbytes, bytesready);
 
 2267      Info(
"IsDataReady", 
"%lld / %lld (%s)",
 
 2268           bytesready, totalbytes, 
fDataReady?
"READY":
"NOT READY");
 
 2286   if (slaves->
GetSize() == 0) 
return;
 
 2291   while ((sl = (
TSlave *)next())) {
 
 2310   Int_t nparallel = 0;
 
 2311   while (
TSlave* sl = 
dynamic_cast<TSlave*
>(nextSlave()))
 
 2312      if (sl->GetParallel() >= 0)
 
 2313         nparallel += sl->GetParallel();
 
 2336   while ((slave = (
TSlave *) next()) != 0) {
 
 2346         while ((activeslave = (
TSlave *) nextactive())) {
 
 2355         while ((badslave = (
TSlave *) nextbad())) {
 
 2364               MarkBad(slave, 
"could not send kPROOF_GETSLAVEINFO message");
 
 2372               MarkBad(slave, 
"could not send kPROOF_GETSLAVEINFO message");
 
 2377         Error(
"GetSlaveInfo", 
"TSlave is neither Master nor Slave");
 
 2398   while ((sl = (
TSlave*) next())) {
 
 2428   if (workers->
GetSize() == 0) 
return 0;
 
 2431   TIter next(workers);
 
 2434   while ((wrk = (
TSlave *)next())) {
 
 2437            MarkBad(wrk, 
"could not send group priority");
 
 2479   if (!slaves || slaves->
GetSize() == 0) 
return 0;
 
 2485   while ((sl = (
TSlave *)next())) {
 
 2488            MarkBad(sl, 
"could not broadcast request");
 
 2571   if (slaves->
GetSize() == 0) 
return 0;
 
 2577   while ((sl = (
TSlave *)next())) {
 
 2580            MarkBad(sl, 
"could not send broadcast-raw request");
 
 2614   if (wrks->
GetSize() == 0) 
return 0;
 
 2620   while ((wrk = (
TSlave *)next())) {
 
 2623            Error(
"BroadcastFile",
 
 2624                  "problems sending file to worker %s (%s)",
 
 2684   rc = 
Collect(mon, timeout, endtype, deactonfail);
 
 2710   while ((sl = (
TSlave*) next())) {
 
 2715   rc = 
Collect(mon, timeout, endtype, deactonfail);
 
 2742   rc = 
Collect(mon, timeout, endtype, deactonfail);
 
 2761      Info(
"Collect", 
">>>>>> Entering collect responses #%04d", collectId);
 
 2791   int cnt = 0, rc = 0;
 
 2796      Info(
"Collect",
"#%04d: active: %d", collectId, mon->
GetActive());
 
 2808   while ((nact = mon->
GetActive(sto)) && (nto < 0 || nto > 0)) {
 
 2814            if (al && al->
GetSize() > 0) {
 
 2815               Info(
"Collect",
" %d node(s) still active:", al->
GetSize());
 
 2818               while ((xs = (
TSocket *)nxs())) {
 
 2840            Info(
"Collect",
"#%04d: now active: %d", collectId, mon->
GetActive());
 
 2845         Info(
"Collect", 
"Will invoke Select() #%04d", collectId);
 
 2848      if (s && s != (
TSocket *)(-1)) {
 
 2851         if (rc  == 1 || (rc == 2 && !savedMonitor)) {
 
 2856               Info(
"Collect",
"#%04d: deactivating %p (active: %d, %p)", collectId,
 
 2860         } 
else if (rc == 2) {
 
 2867                  Info(
"Collect",
"save monitor: deactivating %p (active: %d, %p)",
 
 2885         if (s == (
TSocket *)(-1) && nto > 0)
 
 2897         while (mxws && (wrk = (
TSlave *) nxwr())) {
 
 2902                  Info(
"Collect", 
"worker %s was asked to send its output to master",
 
 2927      if (al && al->
GetSize() > 0) {
 
 2929         Info(
"Collect",
" %d node(s) went in timeout:", al->
GetSize());
 
 2932         while ((xs = (
TSocket *)nxs())) {
 
 2961      Info(
"Collect", 
"<<<<<< Exiting collect responses #%04d", collectId);
 
 2978      Error(
"PollForNewWorkers", 
"Can't invoke: not on a master -- should not happen!");
 
 2982      Error(
"PollForNewWorkers", 
"No ProofServ available -- should not happen!");
 
 2992   TIter next(reqWorkers);
 
 3003      while (( sl = 
dynamic_cast<TSlave *
>(nextInner()) )) {
 
 3010      if (found) 
delete ni;
 
 3012         newWorkers->
Add(ni);
 
 3014            Info(
"PollForNewWorkers", 
"New worker found: %s:%s",
 
 3024   if (nNewWorkers > 0) {
 
 3026         Info(
"PollForNewWorkers", 
"Requesting to add %d new worker(s)", newWorkers->
GetEntries());
 
 3029         Error(
"PollForNewWorkers", 
"Call to AddWorkers() failed (got %d < 0)", rv);
 
 3036         Info(
"PollForNewWorkers", 
"No new worker found");
 
 3065   if ((recvrc = s->
Recv(mess)) < 0) {
 
 3067         Info(
"CollectInputFrom",
"%p: got %d from Recv()", s, recvrc);
 
 3078         MarkBad(s, 
"problems receiving a message in TProof::CollectInputFrom(...)");
 
 3084      MarkBad(s, 
"undefined message in TProof::CollectInputFrom(...)");
 
 3092   if (rc == 1 && (endtype >= 0) && (
what != endtype))
 
 3112      Warning(
"HandleInputMessage", 
"given an empty message or undefined worker");
 
 3118      Warning(
"HandleInputMessage", 
"worker socket is undefined");
 
 3145               MarkBad(s, 
"received kPROOF_FATAL");
 
 3158         Info(
"HandleInputMessage", 
"received kPROOF_STOP from %s: disabling any further collection this worker",
 
 3190               Info(
"HandleInputMessage",
"%s: kPROOF_GETPACKET", sl->
GetOrdinal());
 
 3240            Info(
"HandleInputMessage",
"%s: kPROOF_LOGDONE: status %d  parallel %d",
 
 3274               Info(
"HandleInputMessage",
 
 3290            rc = (async) ? 0 : 1;
 
 3315            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_PACKAGE_LIST: enter");
 
 3325                  Error(
"HandleInputMessage",
 
 3326                        "kPROOF_PACKAGE_LIST: kListEnabledPackages: TList not found in message!");
 
 3335                  Error(
"HandleInputMessage",
 
 3336                        "kPROOF_PACKAGE_LIST: kListPackages: TList not found in message!");
 
 3340               Error(
"HandleInputMessage", 
"kPROOF_PACKAGE_LIST: unknown type: %d", 
type);
 
 3353               Info(
"HandleInputMessage",
"kPROOF_SENDOUTPUT: enter (%s)", sl->
GetOrdinal());
 
 3369               Info(
"HandleInputMessage",
"kPROOF_OUTPUTOBJECT: enter");
 
 3373               Info(
"HandleInputMessage", 
"finalization on %s started ...", prefix);
 
 3399                        Warning(
"HandleInputMessage",
"kPROOF_OUTPUTOBJECT: query result missing");
 
 3401                  } 
else if (
type > 0) {
 
 3411                     } 
else if (
IsTty() || changed) {
 
 3412                        fprintf(stderr, 
"%s\r", msg.
Data());
 
 3432                              while ((xo = nxin()))
 
 3444                  Warning(
"HandleInputMessage", 
"kPROOF_OUTPUTOBJECT: player undefined!");
 
 3455               Info(
"HandleInputMessage",
"%s: kPROOF_OUTPUTLIST: enter", sl->
GetOrdinal());
 
 3477                        Info(
"HandleInputMessage",
 
 3478                             "%s: kPROOF_OUTPUTLIST: query result missing", sl->
GetOrdinal());
 
 3487                     Info(
"HandleInputMessage",
 
 3488                          "%s: kPROOF_OUTPUTLIST: outputlist is empty", sl->
GetOrdinal());
 
 3492                       "%s: kPROOF_OUTPUTLIST: player undefined!", sl->
GetOrdinal());
 
 3502            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_QUERYLIST: enter");
 
 3515            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_RETRIEVE: enter");
 
 3524                  Info(
"HandleInputMessage",
 
 3525                       "kPROOF_RETRIEVE: query result missing or player undefined");
 
 3532            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_MAXQUERIES: enter");
 
 3536            Printf(
"Number of queries fully kept remotely: %d", max);
 
 3542            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_SERVERSTARTED: enter");
 
 3544            UInt_t tot = 0, done = 0;
 
 3548            (*mess) >> action >> tot >> done >> st;
 
 3555                  char msg[512] = {0};
 
 3557                     snprintf(msg, 512, 
"%s: OK (%d %s)                 \n",
 
 3560                     snprintf(msg, 512, 
"%s: %d out of %d (%d %%)\r",
 
 3561                             action.
Data(), done, tot, frac);
 
 3564                     fprintf(stderr,
"%s", msg);
 
 3574               m << action << tot << done << st;
 
 3582            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_DATASET_STATUS: enter");
 
 3584            UInt_t tot = 0, done = 0;
 
 3588            (*mess) >> action >> tot >> done >> st;
 
 3594                  char msg[512] = {0};
 
 3596                     snprintf(msg, 512, 
"%s: OK (%d %s)                 \n",
 
 3599                     snprintf(msg, 512, 
"%s: %d out of %d (%d %%)\r",
 
 3600                             action.
Data(), done, tot, frac);
 
 3603                     fprintf(stderr,
"%s", msg);
 
 3613               m << action << tot << done << st;
 
 3621            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_STARTPROCESS: enter");
 
 3641               PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"Preparation time: %f s", 
fPrepTime);
 
 3646               (*mess) >> selec >> dsz >> 
first >> nent;
 
 3648               if (!
gROOT->IsBatch()) {
 
 3667            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_ENDINIT: enter");
 
 3686                     Info(
"HandleInputMessage", 
"%s: got kPROOF_SETIDLE", sl->
GetOrdinal());
 
 3689                          "%s: got kPROOF_SETIDLE but no running workers ! protocol error?",
 
 3703            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_QUERYSUBMITTED: enter");
 
 3728            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_SESSIONTAG: enter");
 
 3751               Info(
"HandleInputMessage",
"kPROOF_FEEDBACK: enter");
 
 3764            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_AUTOBIN: enter");
 
 3783            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_PROGRESS: enter");
 
 3792               Float_t initTime, procTime, evtrti, mbrti;
 
 3793               (*mess) >> 
total >> processed >> bytesread
 
 3794                     >> initTime >> procTime
 
 3798                                    initTime, procTime, evtrti, mbrti);
 
 3803               (*mess) >> 
total >> processed;
 
 3817            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_STOPPROCESS: enter");
 
 3824               (*mess) >> status >> abort;
 
 3826               (*mess) >> events >> abort;
 
 3832                  TList *listOfMissingFiles = 0;
 
 3833                  if (!(listOfMissingFiles = (
TList *)
GetOutput(
"MissingFiles"))) {
 
 3834                     listOfMissingFiles = 
new TList();
 
 3835                     listOfMissingFiles->
SetName(
"MissingFiles");
 
 3854               Emit(
"StopProcess(Bool_t)", abort);
 
 3860            PDB(kGlobal,2) 
Info(
"HandleInputMessage", 
"kPROOF_SUBMERGER: enter");
 
 3867            PDB(kGlobal,2) 
Info(
"HandleInputMessage", 
"kPROOF_GETSLAVEINFO: enter");
 
 3874               Error(
"HandleInputMessage", 
"kPROOF_GETSLAVEINFO: no list received!");
 
 3918               Info(
"HandleInputMessage", 
"kPROOF_VALIDATE_DSET: enter");
 
 3922               Error(
"HandleInputMessage", 
"kPROOF_VALIDATE_DSET: fDSet not set");
 
 3931            PDB(kGlobal,2) 
Info(
"HandleInputMessage", 
"kPROOF_DATA_READY: enter");
 
 3934            (*mess) >> dataready >> totalbytes >> bytesready;
 
 3947            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_MESSAGE: enter");
 
 3960                  fprintf(stderr,
"%s%c", msg.
Data(), (lfeed ? 
'\n' : 
'\r'));
 
 3968               fprintf(stderr,
"%s%c", msg.
Data(), (lfeed ? 
'\n' : 
'\r'));
 
 3984            PDB(kGlobal,2) 
Info(
"HandleInputMessage",
"kPROOF_VERSARCHCOMP: %s", vac.
Data());
 
 3997            Error(
"HandleInputMessage", 
"unknown command received from '%s' (what = %d)",
 
 4025               Int_t  merger_id = -1;
 
 4026               (*mess) >> merger_id;
 
 4029                  Info(
"HandleSubmerger", 
"kOutputSent: Worker %s:%d:%s had sent its output to merger #%d",
 
 4033                  Error(
"HandleSubmerger", 
"kOutputSize: #%d not in list ", merger_id);
 
 4046                     PDB(kSubmerger, 2) 
Info(
"HandleSubmerger", 
"all mergers removed ... ");
 
 4050               PDB(kSubmerger, 2) 
Error(
"HandleSubmerger",
"kOutputSent: received not on endmaster!");
 
 4057            Int_t  merger_id = -1;
 
 4058            (*mess) >> merger_id;
 
 4060            PDB(kSubmerger, 2) 
Info(
"HandleSubmerger", 
"kMergerDown: #%d ", merger_id);
 
 4063               Error(
"HandleSubmerger", 
"kMergerDown: #%d not in list ", merger_id);
 
 4086            while ((o = nxo())) {
 
 4089            PDB(kSubmerger, 2) 
Info(
"HandleSubmerger", 
"kMergerDown:%d: exit", merger_id);
 
 4097                  Info(
"HandleSubmerger", 
"worker %s reported as finished ", sl->
GetOrdinal());
 
 4101                  Info(
"HandleSubmerger", 
"finalization on %s started ...", prefix);
 
 4105               Int_t  output_size = 0;
 
 4106               Int_t  merging_port = 0;
 
 4107               (*mess) >> output_size >> merging_port;
 
 4109               PDB(kSubmerger, 2) 
Info(
"HandleSubmerger",
 
 4110                                       "kOutputSize: Worker %s:%d:%s reports %d output objects (+ available port %d)",
 
 4126                     msg.
Form(
"%s: Invalid request: cannot start %d mergers for %d workers",
 
 4136                     if (activeWorkers > 1) {
 
 4142                        msg.
Form(
"%s: Number of mergers set dynamically to %d (for %d workers)",
 
 4145                        msg.
Form(
"%s: No mergers will be used for %d workers",
 
 4146                                 prefix, activeWorkers);
 
 4155                     if (activeWorkers > 1) {
 
 4160                        while ((wrk = nxwk())) {
 
 4168                        msg.
Form(
"%s: Number of mergers set to %d (for %d workers), one for each slave host",
 
 4171                        msg.
Form(
"%s: No mergers will be used for %d workers",
 
 4172                                 prefix, activeWorkers);
 
 4180                     msg.
Form(
"%s: Number of mergers set by user to %d (for %d workers)",
 
 4248               Error(
"HandleSubMerger",
"kOutputSize received not on endmaster!");
 
 4260   Int_t merger_id = -1;
 
 4274   if (merger_id == -1) {
 
 4281         Info(
"RedirectWorker", 
"redirecting worker %s to merger %d", sl->
GetOrdinal(), merger_id);
 
 4283       PDB(kSubmerger, 2) 
Info(
"RedirectWorker", 
"redirecting output to merger #%d",  merger_id);
 
 4285          Error(
"RedirectWorker", 
"#%d not in list ", merger_id);
 
 4291       sendoutput <<  merger_id;
 
 4292       sendoutput << hname;
 
 4294       s->
Send(sendoutput);
 
 4306   while (fLastAssignedMerger < fMergers->GetSize() &&
 
 4318   while (fLastAssignedMerger < fMergers->GetSize() &&
 
 4339   PDB(kSubmerger, 2) 
Info(
"AskForOutput",
 
 4340                           "worker %s was asked to send its output to master",
 
 4344   sendoutput << 
TString(
"master");
 
 4360         Info(
"UpdateDialog",
 
 4361              "processing was aborted - %lld events processed",
 
 4376         Info(
"UpdateDialog",
 
 4377              "processing was stopped - %lld events processed",
 
 4394      EmitVA(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)",
 
 4399      EmitVA(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t)",
 
 4415   while ((sl = (
TSlave*) next()))
 
 4428   while ((sl = (
TSlave*) next()))
 
 4440   Int_t active_mergers = 0;
 
 4445      if (mi->
IsActive()) active_mergers++;
 
 4448   return active_mergers;
 
 4457      Info(
"CreateMerger", 
"worker %s will be merger ", sl->
GetOrdinal());
 
 4459   PDB(kSubmerger, 2) 
Info(
"CreateMerger",
"Begin");
 
 4463         Info(
"CreateMerger", 
"cannot create merger on port %d - exit", port);
 
 4480      Int_t workersOnHost = 0;
 
 4484      workers = workersOnHost - 1;
 
 4488   msg.
Form(
"worker %s on host %s will be merger for %d additional workers", sl->
GetOrdinal(), sl->
GetName(), workers);
 
 4500   bemerger <<  workers;
 
 4503   PDB(kSubmerger,2) 
Info(
"CreateMerger",
 
 4504                          "merger #%d (port: %d) for %d workers started",
 
 4512   PDB(kSubmerger, 2) 
Info(
"CreateMerger", 
"exit");
 
 4523   std::lock_guard<std::recursive_mutex> lock(
fCloseMutex);
 
 4529      Error(
"MarkBad", 
"worker instance undefined: protocol error? ");
 
 4550      msg.
Form(
"\n +++ Message from %s : marking %s:%d (%s) as bad\n +++ Reason: %s",
 
 4552               (reason && strlen(reason)) ? reason : 
"unknown");
 
 4557         msg += 
TString::Format(
"\n\n +++ Most likely your code crashed on worker %s at %s:%d.\n",
 
 4562      msg += 
TString::Format(
" +++ Please check the session logs for error messages either using\n");
 
 4566         msg += 
TString::Format(
" +++ root [] TProof::Mgr(\"%s\")->GetSessionLogs()->" 
 4570         msg += 
TString::Format(
" +++ root [] TProof::Mgr(\"%s\")->GetSessionLogs()->" 
 4571                                "Display(\"*\")\n\n", thisurl.
Data());
 
 4574   } 
else if (reason) {
 
 4576         Info(
"MarkBad", 
"worker %s at %s:%d asked to terminate",
 
 4584         TList *listOfMissingFiles = 0;
 
 4585         if (!(listOfMissingFiles = (
TList *)
GetOutput(
"MissingFiles"))) {
 
 4586            listOfMissingFiles = 
new TList();
 
 4587            listOfMissingFiles->
SetName(
"MissingFiles");
 
 4596            packetizer->
MarkBad(wrk, 0, &listOfMissingFiles);
 
 4652            Int_t mergersCount = -1;
 
 4654            if (mc) mergersCount = mc->
GetVal(); 
 
 4656            if (mergersCount == 0) {
 
 4658               if (activeWorkers > 1) {
 
 4684   std::lock_guard<std::recursive_mutex> lock(
fCloseMutex);
 
 4699      Warning(
"TerminateWorker", 
"worker instance undefined: protocol error? ");
 
 4709         Info(
"TerminateWorker", 
"connection to worker is already down: cannot" 
 4710                                 " send termination message");
 
 4722   if (ord && strlen(ord) > 0) {
 
 4727         while ((wrk = (
TSlave *)nxw())) {
 
 4728            if (all || !strcmp(wrk->
GetOrdinal(), ord)) {
 
 4760   if (slaves->
GetSize() == 0) 
return 0;
 
 4766   while ((sl = (
TSlave *)next())) {
 
 4768         if (sl->
Ping() == -1) {
 
 4769            MarkBad(sl, 
"ping unsuccessful");
 
 4786   if (slaves->
GetSize() == 0) 
return;
 
 4791   while ((sl = (
TSlave *)next())) {
 
 4809                                             IsValid() ? 
"valid" : 
"invalid");
 
 4812      Printf(
"ROOT version|rev:         %s|%s", 
gROOT->GetVersion(), 
gROOT->GetGitCommit());
 
 4819            Printf(
"Security context:         %s",
 
 4823         Printf(
"Security context:         Error - No connection");
 
 4824         Printf(
"Proofd protocol version:  Error - No connection");
 
 4836         Printf(
"*** Master server %s (parallel mode, %d workers):",
 
 4839         Printf(
"*** Master server %s (sequential mode):",
 
 4853      Printf(
"ROOT version|rev|tag:       %s", ver.
Data());
 
 4871         Printf(
"List of workers:");
 
 4874         while (
TSlave* sl = 
dynamic_cast<TSlave*
>(nextslave())) {
 
 4875            if (!sl->IsValid()) 
continue;
 
 4882               if (sl->GetSocket()->Send(mess) == -1)
 
 4883                  const_cast<TProof*
>(
this)->
MarkBad(sl, 
"could not send kPROOF_PRINT request");
 
 4887               Error(
"Print", 
"TSlave is neither Master nor Worker");
 
 4939   TString outfile, dsname, stfopt;
 
 4943      while (opt.
Tokenize(oo, from, 
"[; ]")) {
 
 4946            iof = opt.
Index(tagf);
 
 4949            iof = opt.
Index(tagf);
 
 4952            iod = opt.
Index(tagd);
 
 4955            iod = opt.
Index(tagd);
 
 4958            ios = opt.
Index(tags);
 
 4960            tags = 
"savetofile";
 
 4961            ios = opt.
Index(tags);
 
 4966         Error(
"HandleOutputOptions", 
"options 'of'/'outfile' and 'ds'/'dataset' are incompatible!");
 
 4972         from = iof + tagf.
Length();
 
 4974            Error(
"HandleOutputOptions", 
"could not extract output file settings string! (%s)", opt.
Data());
 
 4982         from = iod + tagd.
Length();
 
 4983         if (!opt.
Tokenize(dsname, from, 
"[; ]"))
 
 4984            if (
gDebug > 0) 
Info(
"HandleOutputOptions", 
"no dataset name found: use default");
 
 4993         if (dsname.
IsNull()) dsname = 
"dataset_<qtag>";
 
 4997         from = ios + tags.
Length();
 
 4998         if (!opt.
Tokenize(stfopt, from, 
"[; ]"))
 
 4999            if (
gDebug > 0) 
Info(
"HandleOutputOptions", 
"save-to-file not found: use default");
 
 5007                  Error(
"HandleOutputOptions", 
"save-to-file option must be a digit! (%s)", stfopt.
Data());
 
 5031               Warning(
"HandleOutputOptions",
 
 5032                     "directory '%s' for the output file does not exists or is not writable:" 
 5053                  if (
Exec(
"gProofServ->GetDataDir()", 
"0", 
kTRUE) == 0) {
 
 5058                        ddir = os->
GetString()(fst+1, lst-fst-1);
 
 5060                        emsg = 
"could not find 'const char *' string in macro log! cannot continue";
 
 5063                     emsg = 
"could not retrieve master data directory info! cannot continue";
 
 5066                     Error(
"HandleOutputOptions", 
"%s", emsg.
Data());
 
 5070               if (!ddir.
IsNull()) ddir += 
"/";
 
 5072                  outfile.
Form(
"%s<file>", ddir.
Data());
 
 5093               Warning(
"HandleOutputOptions", 
"Dataset required bu Save-To-File disabled: enabling!");
 
 5094               stfopt.
Form(
"%d", ostf+1);
 
 5114            while ((o = nxo())) {
 
 5126                  Warning(
"HandleOutputOptions", 
"could not retrieve TFileCollection for dataset '%s'", dsname.
Data());
 
 5129               Warning(
"HandleOutputOptions", 
"dataset not found!");
 
 5141                     Printf(
" Output successfully copied to %s", 
target.Data());
 
 5142                     targetcopied = 
kTRUE;
 
 5144                     Warning(
"HandleOutputOptions", 
"problems copying output to %s", 
target.Data());
 
 5152            while ((o = nxo())) {
 
 5156                     if (pof == pf && targetcopied) 
continue;
 
 5161                           Printf(
" Output successfully copied to %s", 
target.Data());
 
 5164                           Warning(
"HandleOutputOptions", 
"problems copying output to %s", 
target.Data());
 
 5174                           Warning(
"HandleOutputOptions",
 
 5181            if (!
target.IsNull() && !swapcopied) {
 
 5184                  if (!fout || (fout && fout->
IsZombie())) {
 
 5186                     Warning(
"HandleOutputOptions", 
"problems opening output file %s", 
target.Data());
 
 5191                  while ((o = nxo())) {
 
 5235   if (action == 0 || (action == 1 && optfb.
IsNull())) {
 
 5240         ifb = opt.
Index(tag);
 
 5242      if (ifb == 
kNPOS) 
return;
 
 5243      from = ifb + tag.
Length();
 
 5246         Warning(
"SetFeedback", 
"could not extract feedback string! Ignoring ...");
 
 5255   TString nm, startdraw, stopdraw;
 
 5257   while (optfb.
Tokenize(nm, from, 
",")) {
 
 5259      if (nm == 
"stats") {
 
 5261            startdraw.
Form(
"gDirectory->Add(new TStatsFeedback((TProof *)%p))", 
this);
 
 5268            stopdraw.
Form(
"TObject *o = gDirectory->FindObject(\"%s\"); " 
 5269                          " if (o && strcmp(o->ClassName(), \"TStatsFeedback\")) " 
 5281            startdraw.
Form(
"gDirectory->Add(new TDrawFeedback((TProof *)%p))", 
this);
 
 5286            stopdraw.
Form(
"TObject *o = gDirectory->FindObject(\"%s\"); " 
 5287                          " if (o && strcmp(o->ClassName(), \"TDrawFeedback\")) " 
 5313   if (opt.Contains(
"fb=") || opt.Contains(
"feedback=")) 
SetFeedback(opt, optfb, 0);
 
 5322      Info(
"Process", 
"session is in waiting or processing status: switch to asynchronous mode");
 
 5324      opt.ReplaceAll(
"SYNC",
"");
 
 5358   if (selector && strlen(selector)) {
 
 5363      Error(
"Process", 
"neither a selecrot file nor a selector object have" 
 5364                       " been specified: cannot process!");
 
 5386      if (sst) rv = sst->
GetVal();
 
 5418      Info(
"Process", 
"server version < 5.18/00:" 
 5419                      " processing of TFileCollection not supported");
 
 5430   if (selector && strlen(selector)) {
 
 5435      Error(
"Process", 
"neither a selecrot file nor a selector object have" 
 5436                       " been specified: cannot process!");
 
 5508      Info(
"Process", 
"processing 'by name' not supported by the server");
 
 5512   TString dsname, fname(dsetname);
 
 5518   const char *separator = (fname.
EndsWith(
",")) ? 
"," : 
"|";
 
 5524      if (
f && !(
f->IsZombie())) {
 
 5525         const Int_t blen = 8192;
 
 5529            Long64_t len = (rest > blen - 1) ? blen - 1 : rest;
 
 5530            if (
f->ReadBuffer(buf, 
len)) {
 
 5531               Error(
"Process", 
"problems reading from file '%s'", fname.
Data());
 
 5542         if (rest > 0) 
return -1;
 
 5544         Error(
"Process", 
"could not open file '%s'", fname.
Data());
 
 5556         Info(
"Process", 
"processing multi-dataset read from file '%s':", fname.
Data());
 
 5557         Info(
"Process", 
"  '%s'", dsname.
Data());
 
 5564      Info(
"Process", 
"multi-dataset processing not supported by the server");
 
 5571   while (names.Tokenize(
name, from, 
"[, |]")) {
 
 5577      if (ienl == 
kNPOS) {
 
 5578         ienl = 
name.Index(
"<<");
 
 5579         if (ienl != 
kNPOS) {
 
 5581            ienl += strlen(
"<<");
 
 5585         ienl += strlen(
"?enl=");
 
 5591      if (idxc != 
kNPOS) {
 
 5593         if (idxs != 
kNPOS) {
 
 5594            obj = newname(idxs+1, newname.
Length());
 
 5595            dir = newname(idxc+1, newname.
Length());
 
 5599            obj = newname(idxc+1, newname.
Length());
 
 5604         Error(
"Process", 
"bad name syntax (%s): please use" 
 5605                          " a '#' after the dataset name", 
name.Data());
 
 5613      } 
else if (obj != dsobj || dir != dsdir) {
 
 5615         Warning(
"Process", 
"'obj' or 'dir' specification not consistent w/ the first given: ignore");
 
 5618      if (ienl != 
kNPOS) {
 
 5628            if ((el = 
dynamic_cast<TEntryList *
>(oel))) {
 
 5639               if (
f && !(
f->IsZombie()) && 
f->GetListOfKeys()) {
 
 5640                  TIter nxk(
f->GetListOfKeys());
 
 5642                  while ((k = (
TKey *) nxk())) {
 
 5658                           Warning(
"Process", 
"multiple entry lists found in file '%s': the first one is taken;\n" 
 5659                                              "if this is not what you want, load first the content in memory" 
 5660                                              "and select it by name  ", enl.
Data());
 
 5665                  Warning(
"Process",
"file '%s' cannot be open or is empty - ignoring", enl.
Data());
 
 5687   TDSet *dset = 
new TDSet(dsname, dsobj, dsdir);
 
 5696   if (selector && strlen(selector)) {
 
 5701      Error(
"Process", 
"neither a selector file nor a selector object have" 
 5702                       " been specified: cannot process!");
 
 5726      Info(
"Process", 
"server version < 5.17/04: generic processing not supported");
 
 5735   if (selector && strlen(selector)) {
 
 5740      Error(
"Process", 
"neither a selector file nor a selector object have" 
 5741                       " been specified: cannot process!");
 
 5765      Error(
"Process", 
"server version < 5.33/02:" 
 5766                       "processing by object not supported");
 
 5770      Error(
"Process", 
"selector object undefined!");
 
 5791      Error(
"Process", 
"server version < 5.33/02:" 
 5792                       "processing by object not supported");
 
 5796      Error(
"Process", 
"selector object undefined!");
 
 5814      Error(
"Process", 
"server version < 5.33/02:" 
 5815                       "processing by object not supported");
 
 5819      Error(
"Process", 
"selector object undefined!");
 
 5838      Error(
"Process", 
"server version < 5.33/02:" 
 5839                       "processing by object not supported");
 
 5843      Error(
"Process", 
"selector object undefined!");
 
 5891            Info(
"Finalize", 
"query #%d not found", qry);
 
 5925               Info(
"Finalize",
"query already finalized:" 
 5926                     " use Finalize(<qry>,kTRUE) to force new retrieval");
 
 5955         Info(
"Retrieve", 
"query #%d not found", qry);
 
 5957      Info(
"Retrieve",
"positive argument required - do nothing");
 
 5984            if (!farc || (farc && !(farc->
IsOpen()))) {
 
 5985               Info(
"Retrieve", 
"archive file cannot be open (%s)", path);
 
 6000            Info(
"Retrieve", 
"query not found after retrieve");
 
 6020         Info(
"Remove", 
"query #%d not found", qry);
 
 6022      Info(
"Remove",
"positive argument required - do nothing");
 
 6064         Info(
"Archive", 
"query #%d not found", qry);
 
 6066      Info(
"Archive",
"positive argument required - do nothing");
 
 6126      if (
m.Contains(
"ASYN")) {
 
 6128      } 
else if (
m.Contains(
"SYNC")) {
 
 6134      Info(
"GetQueryMode",
"query mode is set to: %s", qmode == 
kSync ?
 
 6154      Info(
"DrawSelect",
"not idle, asynchronous Draw not supported");
 
 6187      Info(
"Process", 
"processing 'by name' not supported by the server");
 
 6195   if (idxc != 
kNPOS) {
 
 6197      if (idxs != 
kNPOS) {
 
 6208      Error(
"DrawSelect", 
"bad name syntax (%s): please use" 
 6209                       " a '#' after the dataset name", dsetname);
 
 6227      Info(
"StopProcess",
"enter %d", abort);
 
 6250   while ((sl = (
TSlave *)next()))
 
 6261   Emit(
"DisableGoAsyn()");
 
 6272      Info(
"GoAsynchronous", 
"functionality not supported by the server - ignoring");
 
 6280      Info(
"GoAsynchronous", 
"either idle or already in asynchronous mode - ignoring");
 
 6289   const Int_t kMAXBUF = 16384;  
 
 6303         Warning(
"RecvLogFile", 
"file descriptor for outputs undefined (%d):" 
 6304                 " will not log msgs", fdout);
 
 6307      lseek(fdout, (off_t) 0, SEEK_END);
 
 6313   while (filesize < 
size) {
 
 6315      if (left >= kMAXBUF)
 
 6318      filesize = (rec > 0) ? (filesize + rec) : filesize;
 
 6327               w = write(fdout, 
p, 
r);
 
 6330                  SysError(
"RecvLogFile", 
"error writing to unit: %d", fdout);
 
 6336         } 
else if (rec < 0) {
 
 6337            Error(
"RecvLogFile", 
"error during receiving log file");
 
 6343         EmitVA(
"LogMessage(const char*,Bool_t)", 2, buf, 
kFALSE);
 
 6362   if (!msg || (
len = strlen(msg)) <= 0)
 
 6366   Int_t lsfx = (sfx) ? strlen(sfx) : 0;
 
 6373         Warning(
"NotifyLogMsg", 
"file descriptor for outputs undefined (%d):" 
 6374                 " will not notify msgs", fdout);
 
 6377      lseek(fdout, (off_t) 0, SEEK_END);
 
 6383         char *
p = (
char *)msg;
 
 6388               SysError(
"NotifyLogMsg", 
"error writing to unit: %d", fdout);
 
 6396            if (write(fdout, sfx, lsfx) != lsfx)
 
 6397               SysError(
"NotifyLogMsg", 
"error writing to unit: %d", fdout);
 
 6403      EmitVA(
"LogMessage(const char*,Bool_t)", 2, msg, 
kFALSE);
 
 6417      Info(
"LogMessage",
"Enter ... %s, 'all: %s", msg ? msg : 
"",
 
 6418           all ? 
"true" : 
"false");
 
 6420   if (
gROOT->IsBatch()) {
 
 6421      PDB(kGlobal,1) 
Info(
"LogMessage",
"GUI not started - use TProof::ShowLog()");
 
 6426      EmitVA(
"LogMessage(const char*,Bool_t)", 2, msg, all);
 
 6432      lseek(fileno(
fLogFileR), (off_t) 0, SEEK_SET);
 
 6434   const Int_t kMAXBUF = 32768;
 
 6438      while ((
len = read(fileno(
fLogFileR), buf, kMAXBUF-1)) < 0 &&
 
 6443         Error(
"LogMessage", 
"error reading log file");
 
 6449         EmitVA(
"LogMessage(const char*,Bool_t)", 2, buf, 
kFALSE);
 
 6473   while ((sl = (
TSlave *)next())) {
 
 6476         MarkBad(sl, 
"could not send kPROOF_GROUPVIEW message");
 
 6540   if (!s.
Length()) 
return 0;
 
 6549               Error(
"Exec", 
"file %s could not be transfered", fn);
 
 6568         gROOT->ProcessLine(cmd);
 
 6596   if (!s.
Length()) 
return 0;
 
 6600      gROOT->ProcessLine(cmd);
 
 6608      if (strcmp(ord, 
"master") && strcmp(ord, 
"0")) 
ActivateWorker(ord);
 
 6668   TString cmd = 
TString::Format(
"if (gEnv->Lookup(\"%s\")) { gEnv->GetValue(\"%s\",\"\"); }", rcenv, rcenv);
 
 6682            Printf(
"%s: %d", rcenv, env);
 
 6694   TString cmd = 
TString::Format(
"if (gEnv->Lookup(\"%s\")) { gEnv->GetValue(\"%s\",\"\"); }", rcenv, rcenv);
 
 6708            Printf(
"%s: %f", rcenv, env);
 
 6720   TString cmd = 
TString::Format(
"if (gEnv->Lookup(\"%s\")) { gEnv->GetValue(\"%s\",\"\"); }", rcenv, rcenv);
 
 6729      env = os->
GetString()(fst+1, lst-fst-1);
 
 6811   FileMap_t::const_iterator it;
 
 6818            if ((*md5) != md.
fMD5) {
 
 6841            Error(
"CheckFile", 
"could not calculate local MD5 check sum - dont send");
 
 6855         Error(
"CheckFile", 
"could not calculate local MD5 check sum - dont send");
 
 6902      slaves = 
new TList();
 
 6906   if (slaves->
GetSize() == 0) 
return 0;
 
 6922      Error(
"SendFile", 
"cannot stat file %s", 
file);
 
 6927      Error(
"SendFile", 
"empty file %s", 
file);
 
 6939   if ((opt & 
kCp)) cpopt |= 
kCp;
 
 6942   const Int_t kMAXBUF = 32768;  
 
 6949   if (fnam == 
"cache") {
 
 6951   } 
else if (fnam.
IsNull()) {
 
 6956   while ((sl = (
TSlave *)next())) {
 
 6966         Info(
"SendFile", 
"%s sending file %s to: %s:%s (%d)", snd,
 
 6974      snprintf(buf, kMAXBUF, 
"%s %d %lld %d", fnam.
Data(), bin, siz, fw);
 
 6976         MarkBad(sl, 
"could not send kPROOF_SENDFILE request");
 
 6982         lseek(fd, 0, SEEK_SET);
 
 6990               SysError(
"SendFile", 
"error reading from file %s", 
file);
 
 6997               SysError(
"SendFile", 
"error writing to slave %s:%s (now offline)",
 
 6999               MarkBad(sl, 
"sendraw failure");
 
 7020   return (
fStatus != 0) ? -1 : nsl;
 
 7030   if (!
IsValid() || !obj) 
return -1;
 
 7056   if (!
IsValid() || !obj) 
return -1;
 
 7103      Warning(
"SetRealTimeLog",
"session is invalid - do nothing");
 
 7121         PDB(kGlobal,1) 
Info(
"SetParallelSilent", 
"request all nodes");
 
 7123         PDB(kGlobal,1) 
Info(
"SetParallelSilent", 
"request %d node%s", nodes,
 
 7124                                                  nodes == 1 ? 
"" : 
"s");
 
 7127      mess << nodes << random;
 
 7131      PDB(kGlobal,1) 
Info(
"SetParallelSilent", 
"got %d node%s", 
n, 
n == 1 ? 
"" : 
"s");
 
 7150         Printf(
"PROOF set to sequential mode");
 
 7152         TString subfix = (
n == 1) ? 
"" : 
"s";
 
 7154            subfix += 
", randomly selected";
 
 7155         Printf(
"PROOF set to parallel mode (%d worker%s)", 
n, subfix.
Data());
 
 7173      Error(
"GoMoreParallel", 
"can't invoke here -- should not happen!");
 
 7177      Error(
"GoMoreParallel", 
"no ProofServ available nor Lite -- should not happen!");
 
 7183   Int_t nAddedWorkers = 0;
 
 7185   while (((nAddedWorkers < nWorkersToAdd) || (nWorkersToAdd == -1)) &&
 
 7186          (( sl = 
dynamic_cast<TSlave *
>( next() ) ))) {
 
 7191         Error(
"GoMoreParallel", 
"TSlave is neither a Master nor a Slave: %s:%s",
 
 7198          (strcmp(
"IGNORE", sl->
GetImage()) == 0)) {
 
 7200            Info(
"GoMoreParallel", 
"Worker %s:%s won't be considered",
 
 7207         Info(
"GoMoreParallel", 
"Worker %s:%s is already active: skipping",
 
 7223            Info(
"GoMoreParallel", 
"Worker %s:%s marked as active!",
 
 7228         Error(
"GoMoreParallel", 
"Dynamic addition of master is not supported");
 
 7236      Info(
"GoMoreParallel", 
"Will invoke AskStatistics() -- implies a Collect()");
 
 7241      Info(
"GoMoreParallel", 
"Will invoke FindUniqueSlaves()");
 
 7246      Info(
"GoMoreParallel", 
"Will invoke SendGroupView()");
 
 7250      Info(
"GoMoreParallel", 
"Will invoke GetParallel()");
 
 7256   s.
Form(
"PROOF just went more parallel (%d additional worker%s, %d worker%s total)",
 
 7257      nAddedWorkers, (nAddedWorkers == 1) ? 
"" : 
"s",
 
 7258      nTotalWorkers, (nTotalWorkers == 1) ? 
"" : 
"s");
 
 7260   Info(
"GoMoreParallel", 
"%s", s.
Data());
 
 7262   return nTotalWorkers;
 
 7286   while ((sl = (
TSlave *)nxt())) {
 
 7288         if (strcmp(
"IGNORE", sl->
GetImage()) == 0) 
continue;
 
 7291            Error(
"GoParallel", 
"TSlave is neither Master nor Slave");
 
 7304   while (cnt < nwrks) {
 
 7314         Error(
"GoParallel", 
"attaching to candidate!");
 
 7320      Int_t slavenodes = 0;
 
 7331            Int_t nn = (nodes < 0) ? -1 : nodes-cnt;
 
 7339            MarkBad(sl, 
"could not send kPROOF_PARALLEL or kPROOF_LOGFILE request");
 
 7355               MarkBad(sl, 
"collect failed after kPROOF_PARALLEL or kPROOF_LOGFILE request");
 
 7382         printf(
"PROOF set to sequential mode\n");
 
 7384         printf(
"PROOF set to parallel mode (%d worker%s)\n",
 
 7385                n, 
n == 1 ? 
"" : 
"s");
 
 7388   PDB(kGlobal,1) 
Info(
"GoParallel", 
"got %d node%s", 
n, 
n == 1 ? 
"" : 
"s");
 
 7424      if (doask && !
Prompt(
"Do you really want to remove all data files")) 
return;
 
 7425      if (
fManager->
Rm(
"~/data/*", 
"-rf", 
"all") < 0)
 
 7426         Warning(
"ClearData", 
"problems purging data directory");
 
 7430      if (!dsname || strlen(dsname) <= 0) {
 
 7431         Error(
"ClearData", 
"dataset name mandatory when removing a full dataset");
 
 7436         Error(
"ClearData", 
"dataset '%s' does not exists", dsname);
 
 7442         Error(
"ClearData", 
"could not retrieve info about dataset '%s'", dsname);
 
 7447                                     " of dataset '%s'", dsname);
 
 7460            Error(
"ClearData", 
"GetFirstUrl() returns NULL for '%s' - skipping",
 
 7471         while (nurl-- && fi->
NextUrl()) {
 
 7485            Error(
"ClearData", 
"problems removing '%s'", 
file.Data());
 
 7492      fprintf(stderr, 
"\n");
 
 7500      TString outtmp(
"ProofClearData_");
 
 7503         Error(
"ClearData", 
"cannot create temp file for logs");
 
 7513      in.open(outtmp.
Data());
 
 7514      if (!in.is_open()) {
 
 7515         Error(
"ClearData", 
"could not open temp file for logs: %s", outtmp.
Data());
 
 7526         if (
line.IsNull()) 
continue;
 
 7530         if (!
line.Tokenize(host, from, 
"| ")) 
continue;
 
 7532         if (!
line.Tokenize(
file, from, 
"| ")) 
continue;
 
 7543               Info(
"ClearData", 
"added info for: h:%s, f:%s", host.
Data(), 
file.Data());
 
 7545            Warning(
"ClearData", 
"found incomplete line: '%s'", 
line.Data());
 
 7555      if (!fcmap || (fcmap && fcmap->
GetSize() <= 0)) {
 
 7557         Warning(
"ClearData", 
"no dataset beloning to '%s'", 
sel.Data());
 
 7576                  while (nurl-- && fi->
NextUrl()) {
 
 7585                              Info(
"ClearData", 
"found: host: %s, file: %s", host.
Data(), 
file.Data());
 
 7596                                         "registered file '%s' not found in the full list!",
 
 7612      Info(
"ClearData", 
"%d unregistered files to be removed:", nfiles);
 
 7616                                     " unregistered data files", nfiles);
 
 7630                  Error(
"ClearData", 
"problems removing '%s' on host '%s'",
 
 7638      fprintf(stderr, 
"\n");
 
 7653   if (!pp.
Contains(
"[y/N]")) pp += 
" [y/N]";
 
 7655   if (
a != 
"\n" && 
a[0] != 
'y' &&  
a[0] != 
'Y' &&  
a[0] != 
'n' &&  
a[0] != 
'N') {
 
 7656      Printf(
"Please answer y, Y, n or N");
 
 7659   } 
else if (
a == 
"\n" || 
a[0] == 
'n' ||  
a[0] == 
'N') {
 
 7672   fprintf(stderr, 
"[TProof::ClearData] Total %5d files\t|", t);
 
 7674      if (
r > 0 && t > 0) {
 
 7676            fprintf(stderr, 
"=");
 
 7677         else if (
l == 20*
r/t)
 
 7678            fprintf(stderr, 
">");
 
 7679         else if (
l > 20*
r/t)
 
 7680            fprintf(stderr, 
".");
 
 7682         fprintf(stderr, 
"=");
 
 7684   fprintf(stderr, 
"| %.02f %%      \r", 100.0*(t ? (
r/t) : 1));
 
 7746         while (fgets(
line, 2048, fin)) {
 
 7749               if (write(fdout, 
line, 
r) < 0) {
 
 7751                            "errno %d writing to file descriptor %d",
 
 7780      Warning(
"ShowPackages", 
"file descriptor for outputs undefined (%p):" 
 7781              " will not log msgs", fout);
 
 7784   lseek(fileno(fout), (off_t) 0, SEEK_END);
 
 7861   if (!package || !package[0]) {
 
 7862      Error(
"ClearPackage", 
"need to specify a package name");
 
 7889   if (!pack || strlen(pack) <= 0) {
 
 7890      Error(
"DisablePackage", 
"need to specify a package name");
 
 7901      Warning(
"DisablePackage", 
"problem removing locally package '%s'", pack);
 
 7911      path.
Form(
"~/packages/%s", pack);
 
 7912      if (
fManager->
Rm(path, 
"-rf", 
"all") != -1) {
 
 7948      Warning(
"DisablePackages", 
"problem removing packages locally");
 
 7957      if (
fManager->
Rm(
"~/packages/*", 
"-rf", 
"all") != -1) {
 
 7995   if (!package || !package[0]) {
 
 7996      Error(
"BuildPackage", 
"need to specify a package name");
 
 8035      if (buildOnClient) {
 
 8041      if (!
IsLite() || !buildOnClient) {
 
 8074   if (!package || !package[0]) {
 
 8075      Error(
"LoadPackage", 
"need to specify a package name");
 
 8086      if (
fPackMgr->
Load(package, loadopts) == -1) 
return -1;
 
 8090   if (loadopts) mess << loadopts;
 
 8099         Info(
"LoadPackage", 
"Sending load message to selected workers only");
 
 8101      if (doCollect) 
Collect(workers, -1, -1, deactivateOnFailure);
 
 8118   if (!package || !package[0]) {
 
 8119      Error(
"UnloadPackage", 
"need to specify a package name");
 
 8130      Warning(
"UnloadPackage", 
"unable to remove symlink to %s", package);
 
 8201   if (loadopts && strlen(loadopts)) {
 
 8219               Warning(
"EnablePackage", 
"'checkversion' option unknown from argument: '%s' - ignored", ocv.
Data());
 
 8222                  Info(
"EnablePackage", 
"setting check version option from argument: %d", cvopt);
 
 8226               if (lcv != 
kNPOS && fcv == 0) ocv += os->
String()[lcv];
 
 8232            if (!optls) optls = 
new TList;
 
 8238         Warning(
"EnablePackage", 
"remote server does not support options: ignoring the option string");
 
 8263   if (!package || !package[0]) {
 
 8264      Error(
"EnablePackage", 
"need to specify a package name");
 
 8282      if (ocv == 
"off" || ocv == 
"0")
 
 8284      else if (ocv == 
"on" || ocv == 
"1")
 
 8287         Warning(
"EnablePackage", 
"'checkversion' option unknown from rootrc: '%s' - ignored", ocv.
Data());
 
 8292         chkveropt = pcv->
GetVal();
 
 8298      Info(
"EnablePackage", 
"using check version option: %d", chkveropt);
 
 8303   TList *optls = (loadopts && loadopts->
GetSize() > 0) ? loadopts : 0;
 
 8305      Warning(
"EnablePackage", 
"remote server does not support options: ignoring the option list");
 
 8309   if (
LoadPackage(pac, notOnClient, optls, workers) == -1)
 
 8337      Error(
"DownloadPackage", 
"the manager is undefined!");
 
 8343   if (!parname.EndsWith(
".par")) parname += 
".par";
 
 8344   src.Form(
"packages/%s", parname.Data());
 
 8345   if (!dstdir || strlen(dstdir) <= 0) {
 
 8346      dst.
Form(
"./%s", parname.Data());
 
 8353            Error(
"DownloadPackage",
 
 8354                  "could not create the destination directory '%s' (errno: %d)",
 
 8359         Error(
"DownloadPackage",
 
 8360               "destination path '%s' exist but is not a directory!", dstdir);
 
 8363      dst.
Form(
"%s/%s", dstdir, parname.Data());
 
 8373      Warning(
"DownloadPackage", 
"problems restoring output");
 
 8386            if (s.
Contains(
"*** Global Package cache")) {
 
 8392            } 
else if (s.
Contains(
"*** Package cache")) {
 
 8397            if (isGlobal && s.
Contains(parname)) {
 
 8398               src.Form(
"%s/%s", globaldir.
Data(), parname.Data());
 
 8409      Error(
"DownloadPackage", 
"problems downloading '%s' (src:%s, dst:%s)",
 
 8410                                pack, 
src.Data(), dst.
Data());
 
 8413      Info(
"DownloadPackage", 
"'%s' cross-checked against master repository (local path: %s)",
 
 8451   if (par.EndsWith(
".par")) {
 
 8453      name = base(0, base.
Length() - strlen(
".par"));
 
 8468            Info(
"UploadPackage", 
"global package found (%s): no upload needed",
 
 8471      } 
else if (xrc < 0) {
 
 8472         Error(
"UploadPackage", 
"PAR file '%s' not found", par.Data());
 
 8504      smsg.
Form(
"+%s", par.Data());
 
 8510   mess << smsg << (*md5);
 
 8513   mess2 << smsg << (*md5);
 
 8516   mess3 << smsg << (*md5);
 
 8531   TIter next(workers);
 
 8533   while ((sl = (
TSlave *) next())) {
 
 8547               Error(
"UploadPackage", 
"%s: problems uploading file %s",
 
 8566            Error(
"UploadPackage", 
"%s: unpacking of package %s failed",
 
 8576   while ((ma = (
TSlave *) nextmaster())) {
 
 8586         Error(
"UploadPackage", 
"package %s did not exist on submaster %s",
 
 8602   if (macro && strlen(macro) > 0) {
 
 8606         gROOT->SetMacroPath(macrop);
 
 8633   if (!macro || !macro[0]) {
 
 8634      Error(
"Load", 
"need to specify a macro name");
 
 8644      TString addsname, implname = macro;
 
 8646      if (icom != 
kNPOS) {
 
 8647         addsname = implname(icom + 1, implname.
Length());
 
 8651      TString bmsg(basemacro), acmode, args, io;
 
 8657         Info(
"Load", 
"macro '%s' does not contain a '.': do nothing", macro);
 
 8673               Info(
"Load", 
"no associated header file found: tried: %s %s",
 
 8674                            h.Data(), headname.
Data());
 
 8681      if (!addsname.
IsNull()) {
 
 8684         while (addsname.
Tokenize(fn, from, 
",")) {
 
 8686               Error(
"Load", 
"additional file '%s' not found", fn.
Data());
 
 8694               } 
else if (!addincs.
Contains(dirn)) {
 
 8706         Error(
"Load", 
"problems sending implementation file %s", implname.
Data());
 
 8711            Error(
"Load", 
"problems sending header file %s", headname.
Data());
 
 8716         TIter nxfn(&addfiles);
 
 8721               Error(
"Load", 
"problems sending additional file %s", os->
GetName());
 
 8773         PDB(kGlobal, 1) 
Info(
"Load", 
"adding loaded macro: %s", macro);
 
 8790      if (uniqueWorkers) {
 
 8806         while ((wrk = (
TSlave *)nxw())) {
 
 8823      PDB(kGlobal, 1) 
Info(
"Load", 
"adding loaded macro: %s", macro);
 
 8846   if ((!libpath || !libpath[0])) {
 
 8848         Info(
"AddDynamicPath", 
"list is empty - nothing to do");
 
 8860   if (libpath && strlen(libpath)) {
 
 8891   if ((!incpath || !incpath[0])) {
 
 8893         Info(
"AddIncludePath", 
"list is empty - nothing to do");
 
 8905   if (incpath && strlen(incpath)) {
 
 8935   if ((!libpath || !libpath[0])) {
 
 8937         Info(
"RemoveDynamicPath", 
"list is empty - nothing to do");
 
 8949   if (libpath && strlen(libpath))
 
 8969   if ((!incpath || !incpath[0])) {
 
 8971         Info(
"RemoveIncludePath", 
"list is empty - nothing to do");
 
 8983   if (incpath && strlen(incpath))
 
 9004   if ((
type != 
"lib") && (
type != 
"inc")) {
 
 9005      Error(
"HandleLibIncPath",
"unknown action type: %s - protocol error?", 
type.Data());
 
 9014   if (path.
Length() > 0 && path != 
"-") {
 
 9016         Warning(
"HandleLibIncPath",
"decomposing path %s", path.
Data());
 
 9023      if (
type == 
"lib") {
 
 9045                  Info(
"HandleLibIncPath",
 
 9046                       "libpath %s does not exist or cannot be read - not added", xlib.
Data());
 
 9066                   Info(
"HandleLibIncPath",
 
 9067                        "incpath %s does not exist or cannot be read - not added", xinc.
Data());
 
 9074      if (
type == 
"lib") {
 
 9147      (*fPrintProgress)(
total, processed, procTime, bytesread);
 
 9152   fprintf(stderr, 
"[TProof::Progress] Total %lld events\t|", 
total);
 
 9154   for (
int l = 0; 
l < 20; 
l++) {
 
 9156         if (
l < 20*processed/
total)
 
 9157            fprintf(stderr, 
"=");
 
 9158         else if (
l == 20*processed/
total)
 
 9159            fprintf(stderr, 
">");
 
 9160         else if (
l > 20*processed/
total)
 
 9161            fprintf(stderr, 
".");
 
 9163         fprintf(stderr, 
"=");
 
 9165   Float_t evtrti = (procTime > 0. && processed > 0) ? processed / procTime : -1.;
 
 9166   Float_t mbsrti = (procTime > 0. && bytesread > 0) ? bytesread / procTime : -1.;
 
 9169      Float_t remainingTime = (
total >= processed) ? (
total - processed) / evtrti : -1;
 
 9171         const Float_t toK = 1024., toM = 1048576., toG = 1073741824.;
 
 9172         if (mbsrti >= toG) {
 
 9175         } 
else if (mbsrti >= toM) {
 
 9178         } 
else if (mbsrti >= toK) {
 
 9182         fprintf(stderr, 
"| %.02f %% [%.1f evts/s, %.1f %s, time left: %.1f s]\r",
 
 9183                (
total ? ((100.0*processed)/
total) : 100.0), evtrti, mbsrti, sunit.
Data(), remainingTime);
 
 9185         fprintf(stderr, 
"| %.02f %% [%.1f evts/s, time left: %.1f s]\r",
 
 9186                (
total ? ((100.0*processed)/
total) : 100.0), evtrti, remainingTime);
 
 9189      fprintf(stderr, 
"| %.02f %%\r",
 
 9190              (
total ? ((100.0*processed)/
total) : 100.0));
 
 9192   if (processed >= 
total) {
 
 9193      fprintf(stderr, 
"\n Query processing time: %.1f s\n", procTime);
 
 9209      Info(
"Progress",
"%2f (%lld/%lld)", 100.*processed/
total, processed, 
total);
 
 9211   if (
gROOT->IsBatch()) {
 
 9216      EmitVA(
"Progress(Long64_t,Long64_t)", 2, 
total, processed);
 
 9229      Info(
"Progress",
"%lld %lld %lld %f %f %f %f", 
total, processed, bytesread,
 
 9230                                initTime, procTime, evtrti, mbrti);
 
 9232   if (
gROOT->IsBatch()) {
 
 9237      EmitVA(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t)",
 
 9238             7, 
total, processed, bytesread, initTime, procTime, evtrti, mbrti);
 
 9251      Info(
"Progress",
"%lld %lld %lld %f %f %f %f %d %f", 
total, processed, bytesread,
 
 9252                                initTime, procTime, evtrti, mbrti, actw, eses);
 
 9254   if (
gROOT->IsBatch()) {
 
 9259      EmitVA(
"Progress(Long64_t,Long64_t,Long64_t,Float_t,Float_t,Float_t,Float_t,Int_t,Int_t,Float_t)",
 
 9260             10, 
total, processed, bytesread, initTime, procTime, evtrti, mbrti, actw, tses, eses);
 
 9286      Info(
"CloseProgressDialog",
 
 9293   Emit(
"CloseProgressDialog()");
 
 9303      Info(
"ResetProgressDialog",
"(%s,%d,%lld,%lld)", 
sel, sz, fst, ent);
 
 9305   EmitVA(
"ResetProgressDialog(const char*,Int_t,Long64_t,Long64_t)",
 
 9306          4, 
sel, sz, fst, ent);
 
 9315      Info(
"StartupMessage",
"(%s,%d,%d,%d)", msg, st, done, 
total);
 
 9317   EmitVA(
"StartupMessage(const char*,Bool_t,Int_t,Int_t)",
 
 9318          4, msg, st, done, 
total);
 
 9327      Info(
"DataSetStatus",
"(%s,%d,%d,%d)", msg, st, done, 
total);
 
 9329   EmitVA(
"DataSetStatus(const char*,Bool_t,Int_t,Int_t)",
 
 9330          4, msg, st, done, 
total);
 
 9343         char msg[512] = {0};
 
 9345            snprintf(msg, 512, 
"%s: OK (%d %s)                 \n",
 
 9346                     action,tot, 
type.Data());
 
 9348            snprintf(msg, 512, 
"%s: %d out of %d (%d %%)\r",
 
 9349                     action, done, tot, frac);
 
 9352            fprintf(stderr,
"%s", msg);
 
 9361      mess << 
TString(action) << tot << done << st;
 
 9372      Info(
"QueryResultReady",
"ref: %s", ref);
 
 9374   Emit(
"QueryResultReady(const char*)",ref);
 
 9394   while (
TSlave *sl = 
dynamic_cast<TSlave*
>(nextSlave())) {
 
 9399         sllist->
SetName(sl->GetName());
 
 9400         slholder.
Add(sllist);
 
 9403         elemholder.
Add(elemlist);
 
 9404         nodes.
Add(
new TPair(sllist, elemlist));
 
 9406         sllist = 
dynamic_cast<TList*
>(
p->Key());
 
 9408      if (sllist) sllist->
Add(sl);
 
 9414   for (
Int_t i = 0; i < 2; i++) {
 
 9418         if (elem->GetValid()) 
continue;
 
 9450               Warning(
"ValidateDSet", 
"invalid values from TPair! Protocol error?");
 
 9458               Warning(
"ValidateDSet", 
"no node to allocate TDSetElement to - ignoring");
 
 9466   TIter nextNode(&nodes);
 
 9468   while (
TPair *node = 
dynamic_cast<TPair*
>(nextNode())) {
 
 9469      TList *slaves = 
dynamic_cast<TList*
>(node->Key());
 
 9470      TList *setelements = 
dynamic_cast<TList*
>(node->Value());
 
 9471      if (!slaves || !setelements) 
continue;
 
 9475      for (
Int_t i=0; i<nslaves; i++) {
 
 9479         for (
Int_t j = (i*nelements)/nslaves;
 
 9480                    j < ((i+1)*nelements)/nslaves;
 
 9497               PDB(kGlobal,1) 
Info(
"ValidateDSet",
 
 9498                                 "Sending TDSet with %d elements to slave %s" 
 9500                                 copyset.GetListOfElements()->GetSize(),
 
 9510      Info(
"ValidateDSet",
"Calling Collect");
 
 9587   if (datafile && strlen(datafile) > 0) {
 
 9619   if (dataFile.
Length() > 0) {
 
 9621      Info(
"SendInputDataFile", 
"broadcasting %s", dataFile.
Data());
 
 9654      if (
f && 
f->GetListOfKeys() && 
f->GetListOfKeys()->GetSize() > 0)
 
 9668   if (!list_ok && !file_ok) 
return;
 
 9671   if (file_ok && !list_ok) {
 
 9674   } 
else if (!file_ok && list_ok) {
 
 9684         while ((obj = next())) {
 
 9694   } 
else if (file_ok && list_ok) {
 
 9714            while ((obj = next())) {
 
 9720            Error(
"PrepareInputDataFile", 
"could not open %s for updating", dataFile.
Data());
 
 9780       !out || (out && out->
GetSize() <= 0)) 
return o;
 
 9787   while ((o = nxo())) {
 
 9793            if (!
f || (
f && 
f->IsZombie())) {
 
 9794               ::Warning(
"TProof::GetOutput", 
"problems opening file %s", fn.
Data());
 
 9797         if (
f && (o = 
f->Get(
name))) 
return o;
 
 9825      Warning(
"SetParameter", 
"player undefined! Ignoring");
 
 9844      Warning(
"SetParameter", 
"player undefined! Ignoring");
 
 9863      Warning(
"SetParameter", 
"player undefined! Ignoring");
 
 9882      Warning(
"SetParameter", 
"player undefined! Ignoring");
 
 9901      Warning(
"SetParameter", 
"player undefined! Ignoring");
 
 9921      Warning(
"GetParameter", 
"player undefined! Ignoring");
 
 9937   if (!wildcard) wildcard = 
"";
 
 9939   Int_t nch = strlen(wildcard);
 
 9945      while ((
p = next())) {
 
 9947         if (nch && s != wildcard && s.
Index(re) == 
kNPOS) 
continue;
 
 9962   if (!wildcard) wildcard = 
"";
 
 9964   Int_t nch = strlen(wildcard);
 
 9969   while ((
p = next())) {
 
 9971      if (nch && s != wildcard && s.
Index(re) == 
kNPOS) 
continue;
 
 9992      Info(
"AddFeedback", 
"Adding object \"%s\" to feedback", 
name);
 
10023      Info(
"",
"no feedback requested");
 
10047      Error(
"GetTreeHeader", 
"No connection");
 
10064      d = soc->
Recv(reply);
 
10067      Error(
"GetTreeHeader", 
"Error getting a replay from the master.Result %d", (
int) 
d);
 
10074   if (
s1 == 
"Success")
 
10079         Info(
"GetTreeHeader", 
"%s, message size: %d, entries: %d",
 
10082         Info(
"GetTreeHeader", 
"tree header retrieval failed");
 
10246   msg << start << end;
 
10262   off_t nowlog = lseek(fileno(
fLogFileR), (off_t) 0, SEEK_CUR);
 
10265               "problem lseeking log file to current position (errno: %d)", 
TSystem::GetErrno());
 
10270   off_t startlog = nowlog;
 
10271   off_t endlog = lseek(fileno(
fLogFileR), (off_t) 0, SEEK_END);
 
10280   if (tolog <= 0) 
return maclog;
 
10283   if (lseek(fileno(
fLogFileR), startlog, SEEK_SET) < 0) {
 
10285               "problem lseeking log file to start position (errno: %d)", 
TSystem::GetErrno());
 
10294   Int_t wanted = (tolog > 
sizeof(
line)) ? 
sizeof(
line) : tolog;
 
10305      wanted = (tolog > 
sizeof(
line)) ? 
sizeof(
line) : tolog;
 
10309   if (lseek(fileno(
fLogFileR), nowlog, SEEK_SET) < 0) {
 
10311              "problem lseeking log file to original position (errno: %d)", 
TSystem::GetErrno());
 
10350               if (strstr(queryref, qr->
GetTitle()) &&
 
10351                   strstr(queryref, qr->
GetName()))
 
10374   off_t nowlog = lseek(fileno(
fLogFileR), (off_t) 0, SEEK_CUR);
 
10381   off_t startlog = nowlog;
 
10382   off_t endlog = lseek(fileno(
fLogFileR), (off_t) 0, SEEK_END);
 
10388   lseek(fileno(
fLogFileR), nowlog, SEEK_SET);
 
10391      lseek(fileno(
fLogFileR), (off_t) 0, SEEK_SET);
 
10392   } 
else if (qry != -1) {
 
10403      } 
else if (qry > 0) {
 
10406            TIter nxq(queries);
 
10413            TIter nxq(queries);
 
10424            Info(
"ShowLog",
"query %d not found in list", qry);
 
10435      lseek(fileno(
fLogFileR), startlog, SEEK_SET);
 
10441   Int_t wanted = (tolog > 
sizeof(
line)) ? 
sizeof(
line) : tolog;
 
10450               Int_t w = write(fileno(stdout), 
p, 
r);
 
10452                  SysError(
"ShowLog", 
"error writing to stdout");
 
10459         tolog -= strlen(
line);
 
10464            const char *opt = Getline(
"More (y/n)? [y]");
 
10474         wanted = (tolog > 
sizeof(
line)) ? 
sizeof(
line) : tolog;
 
10483      if (write(fileno(stdout), 
"\n", 1) != 1)
 
10484         SysError(
"ShowLog", 
"error writing to stdout");
 
10489      lseek(fileno(
fLogFileR), nowlog, SEEK_SET);
 
10501         if (
d->GetProof()) {
 
10527      Error(
"Detach",
"corrupted worker instance: wrk:%p, sock:%p", sl, s);
 
10534   if (shutdown && !
IsIdle()) {
 
10539      timeout = (timeout > 20) ? timeout : 20;
 
10564         if (
d->GetProof() == 
this) {
 
10637   Printf(
" *** WARNING: this function is obsolete: it has been replaced by TProofMgr::UploadFiles ***");
 
10668   Printf(
" *** WARNING: this function is obsolete: it has been replaced by TProofMgr::UploadFiles ***");
 
10686   Printf(
" *** WARNING: this function is obsolete: it has been replaced by TProofMgr::UploadFiles ***");
 
10712      Info(
"RegisterDataSet",
 
10713           "functionality not available: the server does not have dataset support");
 
10717   if (!dataSetName || strlen(dataSetName) <= 0) {
 
10718      Info(
"RegisterDataSet", 
"specifying a dataset name is mandatory");
 
10726      parallelverify = 
kTRUE;
 
10734   mess << 
TString(dataSetName);
 
10742      Error(
"RegisterDataSet", 
"dataset was not saved");
 
10748   if (!parallelverify) 
return result;
 
10753      Error(
"RegisterDataSet", 
"problems verifying dataset '%s'", dataSetName);
 
10770      Info(
"SetDataSetTreeName", 
"functionality not supported by the server");
 
10774   if (!dataset || strlen(dataset) <= 0) {
 
10775      Info(
"SetDataSetTreeName", 
"specifying a dataset name is mandatory");
 
10779   if (!treename || strlen(treename) <= 0) {
 
10780      Info(
"SetDataSetTreeName", 
"specifying a tree name is mandatory");
 
10796      Error(
"SetDataSetTreeName", 
"some error occured: default tree name not changed");
 
10812      Info(
"GetDataSets",
 
10813           "functionality not available: the server does not have dataset support");
 
10816   if (
fProtocol < 31 && strstr(optStr, 
":lite:"))
 
10817      Warning(
"GetDataSets", 
"'lite' option not supported by the server");
 
10821   mess << 
TString(uri ? uri : 
"");
 
10822   mess << 
TString(optStr ? optStr : 
"");
 
10826   TMap *dataSetMap = 0;
 
10828      Error(
"GetDataSets", 
"error receiving datasets information");
 
10834            Error(
"GetDataSets", 
"error receiving datasets");
 
10836         Error(
"GetDataSets", 
"message not found or wrong type (%p)", retMess);
 
10849      Info(
"ShowDataSets",
 
10850           "functionality not available: the server does not have dataset support");
 
10856   mess << 
TString(uri ? uri : 
"");
 
10857   mess << 
TString(optStr ? optStr : 
"");
 
10862      Error(
"ShowDataSets", 
"error receiving datasets information");
 
10871      Info(
"ExistsDataSet", 
"functionality not available: the server has an" 
10872                            " incompatible version of TFileInfo");
 
10876   if (!dataset || strlen(dataset) <= 0) {
 
10877      Error(
"ExistsDataSet", 
"dataset name missing");
 
10899      Info(
"ClearDataSetCache", 
"functionality not available on server");
 
10917      Info(
"ShowDataSetCache", 
"functionality not available on server");
 
10940      Info(
"GetDataSet", 
"functionality not available: the server has an" 
10941                         " incompatible version of TFileInfo");
 
10945   if (!uri || strlen(uri) <= 0) {
 
10946      Info(
"GetDataSet", 
"specifying a dataset name is mandatory");
 
10953   nameMess << 
TString(optStr ? optStr: 
"");
 
10955      Error(
"GetDataSet", 
"sending request failed");
 
10960      Error(
"GetDataSet", 
"error receiving datasets information");
 
10966            Error(
"GetDataSet", 
"error reading list of files");
 
10968         Error(
"GetDataSet", 
"message not found or wrong type (%p)", retMess);
 
10981      fileList->
Print(opt);
 
10984      Warning(
"ShowDataSet",
"no such dataset: %s", uri);
 
10995   nameMess << 
TString(uri?uri:
"");
 
10996   nameMess << 
TString(optStr?optStr:
"");
 
10998      Error(
"RemoveDataSet", 
"sending request failed");
 
11012   Error (
"FindDataSets", 
"not yet implemented");
 
11013   return (
TList *) 0;
 
11023      Error(
"RequestStagingDataSet",
 
11024         "functionality not supported by the server");
 
11035      Error(
"RequestStagingDataSet", 
"staging request was unsuccessful");
 
11049      Error(
"CancelStagingDataSet",
 
11050         "functionality not supported by the server");
 
11061      Error(
"CancelStagingDataSet", 
"cancel staging request was unsuccessful");
 
11076      Error(
"GetStagingStatusDataSet",
 
11077         "functionality not supported by the server");
 
11083   nameMess << 
TString(dataset);
 
11085      Error(
"GetStagingStatusDataSet", 
"sending request failed");
 
11093      Error(
"GetStagingStatusDataSet", 
"problem processing the request");
 
11101            Error(
"GetStagingStatusDataSet", 
"error reading list of files");
 
11104         Error(
"GetStagingStatusDataSet",
 
11105            "response message not found or wrong type (%p)", retMess);
 
11133      Info(
"VerifyDataSet", 
"functionality not available: the server has an" 
11134                            " incompatible version of TFileInfo");
 
11139   if (!uri || (uri && strlen(uri) <= 0)) {
 
11140      Error(
"VerifyDataSet", 
"dataset name is is mandatory");
 
11144   Int_t nmissingfiles = 0;
 
11149      Info(
"VerifyDataSet", 
"Master-only verification");
 
11159         Info(
"VerifyDataSet", 
"no such dataset %s", uri);
 
11163      return nmissingfiles;
 
11168      Error(
"VerifyDataSet", 
"PROOF is in sequential mode (no workers): cannot do parallel verification.");
 
11169      Error(
"VerifyDataSet", 
"Either start PROOF with some workers or force sequential adding 'S' as option.");
 
11183   Int_t nmissingfiles = 0;
 
11198   Int_t oldifiip = -1;
 
11203   const char* mss=
"";
 
11205   const char* stageoption=
"";
 
11223   if (oldifiip > -1) {
 
11224      SetParameter(
"PROOF_IncludeFileInfoInPacket", oldifiip);
 
11232   Int_t ntouched = 0;
 
11238   while ((obj = nxtout())) {
 
11243         while ((fiindout = (
TFileInfo*) nxt())) {
 
11244            lfiindout->
Add(fiindout);
 
11250         nmissingfiles += pdisappeared->
GetVal();
 
11253      if (pnopened && 
TString(pnopened->
GetName()).BeginsWith(
"PROOF_NoFilesOpened_")) {
 
11254         nopened += pnopened->
GetVal();
 
11257      if (pntouched && 
TString(pntouched->
GetName()).BeginsWith(
"PROOF_NoFilesTouched_")) {
 
11258         ntouched += pntouched->
GetVal();
 
11261      if (pchanged_ds && 
TString(pchanged_ds->
GetName()).BeginsWith(
"PROOF_DataSetChanged_")) {
 
11266   Info(
"VerifyDataSetParallel", 
"%s: changed? %d (# files opened = %d, # files touched = %d," 
11267                                 " # missing files = %d)",
 
11268                                 uri, changed_ds, nopened, ntouched, nmissingfiles);
 
11270   return nmissingfiles;
 
11279      Info(
"UploadDataSet", 
"Lite-session: functionality not implemented");
 
11285   mess << 
TString(optStr?optStr:
"");
 
11289   TMap *groupQuotaMap = 0;
 
11291      Info(
"GetDataSetQuota", 
"could not receive quota");
 
11297            Error(
"GetDataSetQuota", 
"error getting quotas");
 
11299         Error(
"GetDataSetQuota", 
"message not found or wrong type (%p)", retMess);
 
11302   return groupQuotaMap;
 
11312      Info(
"ShowDataSetQuota",
 
11313           "functionality not available: the server does not have dataset support");
 
11318      Info(
"UploadDataSet", 
"Lite-session: functionality not implemented");
 
11329      Error(
"ShowDataSetQuota", 
"error receiving quota information");
 
11392   if (!ord || strlen(ord) <= 0) {
 
11393      Info(
"ModifyWorkerLists",
 
11394           "an ordinal number - e.g. \"0.4\" or \"*\" for all - is required as input");
 
11398      Info(
"ModifyWorkerLists", 
"ord: '%s' (add: %d, save: %d)", ord, add, 
save);
 
11435         while(oo.Tokenize(o, from, 
","))
 
11445         while ((wrk = (
TSlave *) nxw())) {
 
11468               if (!allord && ords) {
 
11469                  if (os) ords->
Remove(os);
 
11470                  if (ords->
GetSize() == 0) 
break;
 
11477      if (!fw && ords && ords->
GetSize() > 0) {
 
11480         while ((os = nxo())) {
 
11482            while ((wrk = (
TSlave *) nxw()))
 
11485               if (!oo.
IsNull()) oo += 
",";
 
11490            Warning(
"ModifyWorkerLists", 
"worker(s) '%s' not found!", oo.
Data());
 
11510         mess << action << 
TString(ord);
 
11517                  Warning(
"ModifyWorkerLists", 
"request not completely full filled");
 
11519               Error(
"ModifyWorkerLists", 
"request failed");
 
11524         if (oo.Contains(
","))
 
11525            Warning(
"ModifyWorkerLists", 
"block request not supported by server: splitting into pieces ...");
 
11527         while(oo.Tokenize(o, from, 
",")) {
 
11529            mess << action << o;
 
11584                                          const char *confdir, 
Int_t loglevel)
 
11586   const char *pn = 
"TProof::Open";
 
11594         ::Error(pn, 
"plugin manager not found");
 
11598      if (
gROOT->IsBatch()) {
 
11599         ::Error(pn, 
"we are in batch mode, cannot show PROOF Session Viewer");
 
11605         ::Error(pn, 
"no plugin found for TSessionViewer");
 
11609         ::Error(pn, 
"plugin for TSessionViewer could not be loaded");
 
11636            TString sport = opts(it + strlen(
"tunnel="), opts.
Length());
 
11642               host = sport(0, ic);
 
11643               sport.
Remove(0, ic + 1);
 
11654               port = sport.
Atoi();
 
11657               ::Info(
"TProof::Open",
"using tunnel at %s:%d", host.
Data(), port);
 
11663                         "problems parsing tunnelling info from options: %s", opts.
Data());
 
11671      if (opts.
Length() > 0) {
 
11677            locid = opts.
Atoi();
 
11699               if (!proof || !proof->
IsValid()) {
 
11701                     ::Error(pn, 
"new session could not be attached");
 
11710            if (!proof || !proof->
IsValid()) {
 
11711               ::Error(pn, 
"new session could not be created");
 
11743         ::Error(
"TProof::Reset",
 
11744                 "unable to initialize a valid manager instance");
 
11816      Error(
"SaveWorkerInfo",
"gProofServ undefined");
 
11822      Warning(
"SaveWorkerInfo",
"all relevant worker lists is undefined");
 
11828   FILE *fwrk = fopen(fnwrk.
Data(),
"w");
 
11830      Error(
"SaveWorkerInfo",
 
11831            "cannot open %s for writing (errno: %d)", fnwrk.
Data(), errno);
 
11841      if (reLogTag.
Match(addlogext) == 2) {
 
11842         addLogTag = reLogTag[1];
 
11848         Info(
"SaveWorkerInfo", 
"request for additional line with ext: '%s'",  addlogext.
Data());
 
11858   while ((wrk = (
TSlave *) nxa())) {
 
11864      fprintf(fwrk,
"%s@%s:%d %d %s %s.log\n",
 
11868      if (addlogext.
Length() > 0) {
 
11869         fprintf(fwrk,
"%s@%s:%d %d %s(%s) %s.%s\n",
 
11879   while ((wrk = (
TSlave *) nxb())) {
 
11885         fprintf(fwrk,
"%s@%s:%d 0 %s %s.log\n",
 
11900      fprintf(fwrk, 
"%s 2 %s %s.log\n",
 
11903      if (addlogext.
Length() > 0) {
 
11904         fprintf(fwrk, 
"%s 2 %s(%s) %s.%s\n",
 
12020   if (!dset || !
input || !mgr) {
 
12021      emsg.
Form(
"invalid inputs (%p, %p, %p)", dset, 
input, mgr);
 
12031   TString dsns(dsname), enlname;
 
12032   Ssiz_t eli = dsns.Index(
"?enl=");
 
12033   if (eli != 
kNPOS) {
 
12034      enlname = dsns(eli + strlen(
"?enl="), dsns.Length());
 
12035      dsns.Remove(eli, dsns.Length()-eli);
 
12039   if (dsname.
BeginsWith(
"TFileCollection:")) {
 
12045         emsg.
Form(
"TFileCollection %s not found in input list", dset->
GetName());
 
12049      input->RecursiveRemove(dataset);
 
12078      if (validEnl && validSdsn && (( fc = mgr->
GetDataSet(dsns) ))) {
 
12101         dsns = dsname.
Data();
 
12104         while (dsns.Tokenize(dsn1, from1, 
"[, ]")) {
 
12107            while (dsn1.
Tokenize(dsn2, from2, 
"|")) {
 
12110               if (ienl != 
kNPOS) {
 
12111                  enlname = dsn2(ienl + 5, dsn2.
Length());
 
12148      if (!datasets || datasets->
GetSize() <= 0) {
 
12149         emsg.
Form(
"no dataset(s) found on the master corresponding to: %s", dsname.
Data());
 
12154            emsg.
Form(
"dataset pointer is null: corruption? - aborting");
 
12161         lookupopt = 
gEnv->
GetValue(
"Proof.LookupOpt", 
"stagedOnly");
 
12182   if (!dsTree.
IsNull() && dsTree != 
"/") {
 
12185      if (idx != 
kNPOS) {
 
12187         tree.Remove(0, idx);
 
12198   TList *srvmapslist = srvmapsref;
 
12204         if (srvmapsref && !srvmapslist) {
 
12205            msg.
Form(
"+++ Info: dataset server mapping(s) DISABLED by user");
 
12206         } 
else if (srvmapsref && srvmapslist && srvmapslist != srvmapsref) {
 
12207            msg.
Form(
"+++ Info: dataset server mapping(s) modified by user");
 
12208         } 
else if (!srvmapsref && srvmapslist) {
 
12209            msg.
Form(
"+++ Info: dataset server mapping(s) added by user");
 
12221   TIter nxds(datasets);
 
12222   while ((pair = (
TPair *) nxds())) {
 
12232                                           " entry list %s not found", os->
GetName()));
 
12237                                           " no sub-lists in entry-list!"));
 
12247         if (!ds->
Add(files, dsTree, availableOnly, missingFiles)) {
 
12248            emsg.
Form(
"error integrating dataset %s", dataset->
GetName());
 
12257         if (!dset->
Add(files, dsTree, availableOnly, missingFiles)) {
 
12258            emsg.
Form(
"error integrating dataset %s", dataset->
GetName());
 
12261         if (enl) entrylist = enl;
 
12263      if (missingFiles) {
 
12266         TIter next(missingFiles);
 
12268         while ((
file = next())) {
 
12270            listOfMissingFiles->
Add(
file);
 
12273         missingFiles->
Clear();
 
12279   while ((pair = (
TPair *) nxds())) {
 
12280      if (pair->
Key()) 
delete pair->
Key();
 
12287   if (srvmapslist && srvmapslist != srvmapsref) {
 
12298   if (listOfMissingFiles && listOfMissingFiles->
GetSize() > 0) {
 
12299      listOfMissingFiles->
SetName(
"MissingFiles");
 
12300      input->Add(listOfMissingFiles);
 
12317       !cachedir || strlen(cachedir) <= 0) 
return 0;
 
12322   if (!
data && !inputdata) 
return 0;
 
12329   if (dstname.BeginsWith(
"cache:")) {
 
12331      dstname.ReplaceAll(
"cache:", 
"");
 
12332      srcname.
Form(
"%s/%s", cachedir, dstname.Data());
 
12334         emsg.
Form(
"input data file not found in cache (%s)", srcname.
Data());
 
12342         emsg.
Form(
"problems copying %s to %s", srcname.
Data(), dstname.Data());
 
12347      if (inputdata && inputdata->
GetSize() > 0) {
 
12351            inputdata->
Write();
 
12355            emsg.
Form(
"could not create %s", dstname.Data());
 
12359         emsg.
Form(
"no input data!");
 
12363   ::Info(
"TProof::SaveInputData", 
"input data saved to %s", dstname.Data());
 
12366   data->SetTitle(dstname);
 
12368      input->Remove(inputdata);
 
12389   if (!inputdata) 
return 0;
 
12393      emsg.
Form(
"input data file not found in sandbox (%s)", fname.
Data());
 
12398   if (!
p || !
p->IsValid()) {
 
12399      emsg.
Form(
"TProof object undefined or invalid: protocol error!");
 
12416   if (!
input || !cachedir || strlen(cachedir) <= 0) 
return 0;
 
12420   if (!inputdata) 
return 0;
 
12425      emsg.
Form(
"input data file not found in cache (%s)", fname.
Data());
 
12431   added->
SetName(
"PROOF_InputObjsFromFile");
 
12437         emsg.
Form(
"could not get list of object keys from file");
 
12442      while ((k = (
TKey *)nxk())) {
 
12459      emsg.
Form(
"could not open %s", fname.
Data());
 
12472   if (!
gROOT->IsBatch()) {
 
12476            gROOT->GetPluginManager()->FindHandler(
"TProofProgressLog"))) {
 
12479               ::Error(
"TProof::LogViewer", 
"cannot load the relevant plug-in");
 
12486         TString u = (url && strlen(url) <= 0) ? 
"lite" : url;
 
12490      if (url && strlen(url) > 0) {
 
12491         ::Info(
"TProof::LogViewer",
 
12492                "batch mode: use TProofLog *pl = TProof::Mgr(\"%s\")->GetSessionLogs(%d)", url, idx);
 
12493      } 
else if (url && strlen(url) <= 0) {
 
12494         ::Info(
"TProof::LogViewer",
 
12495                "batch mode: use TProofLog *pl = TProof::Mgr(\"lite\")->GetSessionLogs(%d)", idx);
 
12497         ::Info(
"TProof::LogViewer",
 
12498                "batch mode: use TProofLog *pl = TProof::Mgr(\"<master>\")->GetSessionLogs(%d)", idx);
 
12526      Warning(
"ShowMissingFiles", 
"no (last) query found: do nothing");
 
12533      Info(
"ShowMissingFiles", 
"no files missing in query %s:%s", xqr->
GetTitle(), xqr->
GetName());
 
12537   Int_t nmf = 0, ncf = 0;
 
12538   Long64_t msz = 0, mszzip = 0, mev = 0;
 
12541   TIter nxf(missing);
 
12562   if (msz <= 0) msz = -1;
 
12563   if (mszzip <= 0) mszzip = -1;
 
12565   if (msz > 0. || mszzip > 0.) {
 
12566      Printf(
" +++ %d file(s) missing, %d corrupted, i.e. %lld unprocessed events -->" 
12567             " about %.2f%% of the total (%lld bytes, %lld zipped)",
 
12568             nmf, ncf, mev, xf * 100., msz, mszzip);
 
12570      Printf(
" +++ %d file(s) missing, %d corrupted, i.e. %lld unprocessed events -->" 
12571             " about %.2f%% of the total", nmf, ncf, mev, xf * 100.);
 
12587      Warning(
"GetMissingFiles", 
"no (last) query found: do nothing");
 
12595         Info(
"ShowMissingFiles", 
"no files missing in query %s:%s", xqr->
GetTitle(), xqr->
GetName());
 
12605      while (
gDirectory->FindObject(fcname) && j < 1000)
 
12612   TIter nxf(missing);
 
12626   if (pf && strlen(pf) > 0) {
 
12630      if (withWrks) 
SetParameter(
"PROOF_SlaveStatsTrace", 
"");
 
12631      Info(
"SetPerfTree", 
"saving of the performance tree enabled (%s)", 
fPerfTree.
Data());
 
12637      Info(
"SetPerfTree", 
"saving of the performance tree disabled");
 
12649      Error(
"SafePerfTree", 
"this TProof instance is invalid!");
 
12655   if (ref && strlen(ref) > 0) {
 
12657         Error(
"SafePerfTree", 
"requested to use query '%s' but player instance undefined!", ref);
 
12662         Error(
"SafePerfTree", 
"TQueryResult instance for query '%s' could not be retrieved", ref);
 
12666      sref.
Form(
" for requested query '%s'", ref);
 
12668   if (!outls || (outls && outls->
GetSize() <= 0)) {
 
12669      Error(
"SafePerfTree", 
"outputlist%s undefined or empty", sref.
Data());
 
12674   if (pf && strlen(pf)) fn = pf;
 
12675   if (fn.
IsNull()) fn = 
"perftree.root";
 
12677   TFile f(fn, 
"RECREATE");
 
12678   if (
f.IsZombie()) {
 
12679      Error(
"SavePerfTree", 
"could not open file '%s' for writing", fn.
Data());
 
12684      while ((obj = nxo())) {
 
12689            if (objname == 
"PROOF_PerfStats" ||
 
12690                objname == 
"PROOF_PacketsHist" ||
 
12691                objname == 
"PROOF_EventsHist" ||
 
12692                objname == 
"PROOF_NodeHist" ||
 
12693                objname == 
"PROOF_LatencyHist" ||
 
12694                objname == 
"PROOF_ProcTimeHist" ||
 
12695                objname == 
"PROOF_CpuTimeHist")
 
12701   Info(
"SavePerfTree", 
"performance information%s saved in %s ...", sref.
Data(), fn.
Data());
 
static void retrieve(const gsl_integration_workspace *workspace, double *a, double *b, double *r, double *e)
 
std::ofstream * logfile() const
 
RooFitResult * save(const char *name=nullptr, const char *title=nullptr)
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
R__EXTERN TApplication * gApplication
 
const Bool_t kIterBackward
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
static unsigned int total
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
Option_t Option_t TPoint TPoint const char mode
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
const Bool_t kSortDescending
 
R__EXTERN TProofDebug::EProofDebugMask gProofDebugMask
 
R__EXTERN Int_t gProofDebugLevel
 
R__EXTERN TProofServ * gProofServ
 
static Int_t PoDCheckUrl(TString *_cluster)
This a private API function.
 
const char *const kPROOF_WorkerIdleTO
 
const char *const kPROOF_PackDir
 
const char *const kPROOF_ConfFile
 
const char *const kPROOF_WorkDir
 
const Long64_t kPROOF_DynWrkPollInt_s
 
const char *const kPROOF_InputDataFile
 
R__EXTERN TProof * gProof
 
const char *const kPROOF_ConfDir
 
const Int_t kPROOF_Protocol
 
const char *const kPROOF_TerminateWorker
 
R__EXTERN TVirtualMutex * gROOTMutex
 
R__EXTERN TRandom * gRandom
 
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
 
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
 
Bool_t R_ISLNK(Int_t mode)
 
Bool_t R_ISDIR(Int_t mode)
 
R__EXTERN TSystem * gSystem
 
#define R__LOCKGUARD(mutex)
 
TSignalHandler * GetSignalHandler() const
 
Using a TBrowser one can browse all ROOT objects.
 
TObject * ReadObject(const TClass *cl) override
Read object from I/O buffer.
 
void WriteString(const char *s) override
Write string to I/O buffer.
 
char * ReadString(char *s, Int_t max) override
Read string from I/O buffer.
 
void WriteObject(const TObject *obj, Bool_t cacheReuse=kTRUE) override
Write object to I/O buffer.
 
A chain is a collection of files containing TTree objects.
 
Collection abstract base class.
 
void ls(Option_t *option="") const override
List (ls) all objects in this collection.
 
void SetName(const char *name)
 
virtual Int_t GetEntries() const
 
Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0) override
Write all objects in this collection.
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
void Print(Option_t *option="") const override
Default print for collections, calls Print(option, 1).
 
TObject * Clone(const char *newname="") const override
Make a clone of an collection using the Streamer facility.
 
Bool_t Contains(const char *name) const
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
Manages an element of a TDSet.
 
const char * GetObjName() const
 
const char * GetDirectory() const
Return directory where to look for object.
 
const char * GetMsd() const
 
const char * GetFileName() const
 
Long64_t GetFirst() const
 
This class implements a data set to be used for PROOF processing.
 
virtual void SetEntryList(TObject *aList)
Set entry (or event) list for this data set.
 
virtual Bool_t Add(const char *file, const char *objname=0, const char *dir=0, Long64_t first=0, Long64_t num=-1, const char *msd=0)
Add file to list of files to be analyzed.
 
Bool_t ElementsValid()
Check if all elements are valid.
 
void SetSrvMaps(TList *srvmaps=0)
Set (or unset) the list for mapping servers coordinate for files.
 
void Validate()
Validate the TDSet by opening files.
 
const char * GetType() const
 
TList * GetListOfElements() const
 
void SetDirectory(const char *dir)
Set/change directory.
 
void SetObjName(const char *objname)
Set/change object name.
 
const char * GetDirectory() const
 
const char * GetObjName() const
 
virtual TFileCollection * GetDataSet(const char *uri, const char *server=0)
Utility function used in various methods for user dataset upload.
 
static TList * GetDataSetSrvMaps()
Static getter for server mapping list.
 
static TList * ParseDataSetSrvMaps(const TString &srvmaps)
Create a server mapping list from the content of 'srvmaps' Return the list (owned by the caller) or 0...
 
Bool_t ParseUri(const char *uri, TString *dsGroup=0, TString *dsUser=0, TString *dsName=0, TString *dsTree=0, Bool_t onlyCurrent=kFALSE, Bool_t wildcards=kFALSE)
Parses a (relative) URI that describes a DataSet on the cluster.
 
Bool_t cd() override
Change current directory to "this" directory.
 
Utility class to draw objects in the feedback list during queries.
 
A List of entry numbers in a TTree or TChain.
 
virtual TList * GetLists() const
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
Set the value of a resource or create a new resource.
 
void put(const char *file, const char *remoteName=nullptr)
 
void cd(const char *dir) const
 
Class that contains a list of TFileInfo's and accumulated meta data information about its entries.
 
Int_t Update(Long64_t avgsize=-1)
Update accumulated information about the elements of the collection (e.g.
 
void SetDefaultTreeName(const char *treeName)
 
void Print(Option_t *option="") const override
Prints the contents of the TFileCollection.
 
const char * GetDefaultTreeName() const
Returns the tree set with SetDefaultTreeName if set Returns the name of the first tree in the meta da...
 
Int_t Add(TFileInfo *info)
Add TFileInfo to the collection.
 
void Remove() override
Remove file event handler from system file handler list.
 
void Add() override
Add file event handler to system file handler list.
 
Class describing a generic file including meta information.
 
TUrl * NextUrl()
Iterator function, start iteration by calling ResetUrl().
 
TUrl * GetFirstUrl() const
 
TFileInfoMeta * GetMetaData(const char *meta=nullptr) const
Get meta data object with specified name.
 
TUrl * GetCurrentUrl() const
Return the current url.
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
virtual Bool_t IsOpen() const
Returns kTRUE in case file is open and kFALSE if file is not open.
 
static EFileType GetType(const char *name, Option_t *option="", TString *prefix=nullptr)
Resolve the file type as a function of the protocol field in 'name'.
 
virtual Bool_t Cp(const char *dst, Bool_t progressbar=kTRUE, UInt_t buffersize=1000000)
Allows to copy this file to the dst URL.
 
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
 
void Close(Option_t *option="") override
Close a file.
 
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
 
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
 
TObject * Remove(TObject *obj) override
Remove object from the list.
 
TObject * FindObject(const char *name) const override
Find object using its name.
 
const char * GetHostName() const
 
Book space in a file, create I/O buffers, to fill them, (un)compress them.
 
virtual const char * GetClassName() const
 
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
 
TObject * After(const TObject *obj) const override
Returns the object after object obj.
 
void Clear(Option_t *option="") override
Remove all objects from the list.
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
TObject * Remove(TObject *obj) override
Remove object from the list.
 
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
 
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
 
virtual TObjLink * FirstLink() const
 
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
 
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
 
This code implements the MD5 message-digest algorithm.
 
static TMD5 * FileChecksum(const char *file)
Returns checksum of specified file.
 
Class supporting a collection of lines with C++ code.
 
virtual TObjString * AddLine(const char *text)
Add line with text in the list of lines of this macro.
 
TList * GetListOfLines() const
 
virtual TObjString * GetLineWith(const char *text) const
Search the first line containing text.
 
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
 
void Add(TObject *obj) override
This function may not be used (but we need to provide it since it is a pure virtual in TCollection).
 
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
 
Bool_t AreAllWorkersAssigned()
Return if the determined number of workers has been already assigned to this merger.
 
Bool_t AreAllWorkersMerged()
Return if merger has already merged all workers, i.e. if it has finished its merging job.
 
virtual ~TMergerInfo()
Destructor.
 
void SetMergedWorker()
Increase number of already merged workers by 1.
 
void AddWorker(TSlave *sl)
Add new worker to the list of workers to be merged by this merger.
 
void AddMergedObjects(Int_t objects)
 
static void EnableSchemaEvolutionForAll(Bool_t enable=kTRUE)
Static function enabling or disabling the automatic schema evolution.
 
void SetWhat(UInt_t what)
Using this method one can change the message type a-posteriori In case you OR "what" with kMESS_ACK,...
 
virtual void RemoveAll()
Remove all sockets from the monitor.
 
virtual void ActivateAll()
Activate all de-activated sockets.
 
TSocket * Select()
Return pointer to socket for which an event is waiting.
 
virtual void Activate(TSocket *sock)
Activate a de-activated socket.
 
virtual void Add(TSocket *sock, Int_t interest=kRead)
Add socket to the monitor's active list.
 
Int_t GetActive(Long_t timeout=-1) const
Return number of sockets in the active list.
 
virtual void DeActivateAll()
De-activate all activated sockets.
 
virtual void DeActivate(TSocket *sock)
De-activate a socket.
 
TList * GetListOfActives() const
Returns a list with all active sockets.
 
virtual void Remove(TSocket *sock)
Remove a socket from the monitor.
 
The TNamed class is the base class for all named ROOT classes.
 
TObject * Clone(const char *newname="") const override
Make a clone of an object using the Streamer facility.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
Collectable string class.
 
const TString & GetString() const
 
const char * GetName() const override
Returns name of object.
 
Mother of all ROOT objects.
 
@ kSingleKey
write collection with single key
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual void RecursiveRemove(TObject *obj)
Recursively remove this object from a list.
 
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
 
virtual void SysError(const char *method, const char *msgfmt,...) const
Issue system error message.
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
 
R__ALWAYS_INLINE Bool_t IsZombie() const
 
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual const char * GetTitle() const
Returns title of object.
 
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
Wrapper for PCRE library (Perl Compatible Regular Expressions).
 
Int_t Match(const TString &s, UInt_t start=0)
Runs a match on s against the regex 'this' was created with.
 
The PROOF package manager contains tools to manage packages.
 
void Show(const char *title=0)
Show available packages.
 
Int_t Build(const char *pack, Int_t opt=TPackMgr::kCheckROOT)
Method to build a package.
 
Int_t Install(const char *par, Bool_t rmold=kFALSE)
Install package from par (unpack the file in the directory); par can be an URL for remote retrieval.
 
void ShowEnabled(const char *title=0)
Show enabled packages.
 
static Int_t FindParPath(TPackMgr *packmgr, const char *pack, TString &par)
Get the full path to PAR, looking also in the global dirs.
 
static Int_t RegisterGlobalPath(const char *paths)
Parse one or more paths as possible sources of packages Returns number of paths added; or -1 in case ...
 
Int_t Load(const char *pack, TList *optls=0)
Method to load a package taking an option list Return -1 on error, 0 otherwise.
 
Int_t Unload(const char *pack)
Method to unload a package.
 
TList * GetListOfEnabled() const
Get list of enabled packages Returns a pointer to a TList object, transferring ownership to the calle...
 
Int_t Remove(const char *pack=0, Bool_t dolock=kTRUE)
Remove package 'pack' If 'pack' is null or empty all packages are cleared.
 
TMD5 * ReadMD5(const char *pack)
Read MD5 checksum of the PAR file from the PROOF-INF/md5.txt file.
 
Class used by TMap to store (key,value) pairs.
 
const char * GetName() const override
Returns name of object.
 
Named parameter, streamable and storable.
 
const char * GetName() const override
Returns name of object.
 
const AParamType & GetVal() const
 
Longptr_t ExecPlugin(int nargs)
 
Int_t LoadPlugin()
Load the plugin library for this handler.
 
This class implements a plugin library manager.
 
TPluginHandler * FindHandler(const char *base, const char *uri=nullptr)
Returns the handler if there exists a handler for the specified URI.
 
Bool_t Notify()
TProof interrupt handler.
 
const char * Export(Bool_t &changed)
 
The PROOF manager interacts with the PROOF server coordinator to create or destroy a PROOF session,...
 
virtual Int_t Reset(Bool_t hard=kFALSE, const char *usr=0)
Send a cleanup request for the sessions associated with the current user.
 
virtual TList * QuerySessions(Option_t *opt="S")
Get list of sessions accessible to this manager.
 
static TProofMgr * Create(const char *url, Int_t loglevel=-1, const char *alias=0, Bool_t xpd=kTRUE)
Static method returning the appropriate TProofMgr object using the plugin manager.
 
virtual Int_t Rm(const char *, const char *=0, const char *=0)
Run 'rm' on 'what'. Locally it is just a call to TSystem::Unlink .
 
virtual void Find(const char *="~/", const char *=0, const char *=0)
 
virtual TProof * CreateSession(const char *=0, const char *=0, Int_t=-1)
Create a new remote session (master and associated workers).
 
virtual Bool_t IsValid() const
 
virtual Int_t GetFile(const char *, const char *, const char *=0)
 
virtual TProof * AttachSession(Int_t, Bool_t=kFALSE)
Dummy version provided for completeness.
 
virtual Bool_t IsProofd() const
 
virtual TProofDesc * GetProofDesc(Int_t id)
Get TProofDesc instance corresponding to 'id'.
 
virtual Int_t Stat(const char *, FileStat_t &, const char *=0)
 
virtual Bool_t IsLite() const
 
virtual void DiscardSession(TProof *p)
Discard TProofDesc of session 'p' from the internal list.
 
The purpose of this class is to provide a complete node description for masters, submasters and worke...
 
const TString & GetMsd() const
 
const TString & GetImage() const
 
const TString & GetOrdinal() const
 
const TString & GetWorkDir() const
 
Int_t GetPerfIndex() const
 
const TString & GetNodeName() const
 
const char * GetName() const
Returns name of object.
 
Class to steer the merging of files produced on the workers.
 
const char * GetDir(Bool_t raw=kFALSE) const
 
const char * GetOutputFileName() const
 
const char * GetFileName() const
 
Bool_t IsRetrieve() const
 
void AttachList(TList *alist)
Attach to list 'alist'.
 
Container class for processing statistics.
 
Long64_t GetEntries() const
 
const char * GetOrdinal() const
 
const char * GetImage() const
 
TList * GetEnabledPackages() const
 
virtual EQueryAction GetWorkers(TList *workers, Int_t &prioritychange, Bool_t resume=kFALSE)
Get list of workers to be used from now on.
 
virtual void ReleaseWorker(const char *)
 
const char * GetUser() const
 
void FlushLogFile()
Reposition the read pointer in the log file to the very end.
 
TSocket * GetSocket() const
 
const char * GetGroup() const
 
void SendAsynMessage(const char *msg, Bool_t lf=kTRUE)
Send an asychronous message to the master / client .
 
static void ResolveKeywords(TString &fname, const char *path=0)
Replace <ord>, <user>, <u>, <group>, <stag>, <qnum>, <file>, <rver> and <build> placeholders in fname...
 
TPackMgr * GetPackMgr() const
 
void SendParallel(Bool_t async=kFALSE)
Send number of parallel nodes to master or client.
 
const char * GetSessionDir() const
 
const char * GetWorkDir() const
 
const char * GetPrefix() const
 
Bool_t IsTopMaster() const
 
This class controls a Parallel ROOT Facility, PROOF, cluster.
 
void HandleLibIncPath(const char *what, Bool_t add, const char *dirs)
Handle lib, inc search paths modification request.
 
const char * GetSessionTag() const
 
Int_t Exec(const char *cmd, ESlaves list, Bool_t plusMaster)
Send command to be executed on the PROOF master and/or slaves.
 
Int_t GetNumberOfInactiveSlaves() const
Return number of inactive slaves, i.e.
 
void ShowPackages(Bool_t all=kFALSE, Bool_t redirlog=kFALSE)
List contents of package directory.
 
virtual void ShowData()
List contents of the data directory in the sandbox.
 
Int_t SendPrint(Option_t *option="")
Send print command to master server.
 
static TProofMgr * Mgr(const char *url)
Get instance of the effective manager for 'url' Return 0 on failure.
 
Bool_t CreateMerger(TSlave *sl, Int_t port)
Create a new merger.
 
Int_t BroadcastGroupPriority(const char *grp, Int_t priority, ESlaves list=kAllUnique)
Broadcast the group priority to all workers in the specified list.
 
Int_t GetNumberOfQueries()
Number of queries processed by this session.
 
void ActivateAsyncInput()
Activate the a-sync input handler.
 
TList * GetOutputNames()
FIXME: to be written.
 
Bool_t IsEndMaster() const
 
void DisableGoAsyn()
Signal to disable related switches.
 
void PutLog(TQueryResult *qr)
Display log of query pq into the log window frame.
 
void NotifyLogMsg(const char *msg, const char *sfx="\n")
Notify locally 'msg' to the appropriate units (file, stdout, window) If defined, 'sfx' is added after...
 
void Activate(TList *slaves=0)
Activate slave server list.
 
Int_t UploadPackage(const char *par, EUploadPackageOpt opt=kUntar, TList *workers=0)
Upload a PROOF archive (PAR file).
 
TMonitor * fCurrentMonitor
 
TMonitor * fAllUniqueMonitor
 
void SetFeedback(TString &opt, TString &optfb, Int_t action)
Extract from opt in optfb information about wanted feedback settings.
 
Int_t SendCurrentState(ESlaves list=kActive)
Transfer the current state of the master to the active slave servers.
 
void Close(Option_t *option="")
Close all open slave servers.
 
TList * fTerminatedSlaveInfos
 
TList * GetListOfSlaves() const
 
TMonitor * fUniqueMonitor
 
Int_t SetParallelSilent(Int_t nodes, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
 
Int_t DisablePackages()
Remove all packages.
 
Bool_t fProgressDialogStarted
 
Int_t DownloadPackage(const char *par, const char *dstdir=0)
Download a PROOF archive (PAR file) from the master package repository.
 
TMap * GetDataSetQuota(const char *optStr="")
returns a map of the quotas of all groups
 
static Int_t SaveInputData(TQueryResult *qr, const char *cachedir, TString &emsg)
Save input data file from 'cachedir' into the sandbox or create a the file with input data objects.
 
void ShowQueries(Option_t *opt="")
Ask the master for the list of queries.
 
Int_t BuildPackage(const char *package, EBuildPackageOpt opt=kBuildAll, Int_t chkveropt=TPackMgr::kCheckROOT, TList *workers=0)
Build specified package.
 
virtual void Print(Option_t *option="") const
Print status of PROOF cluster.
 
Int_t GetClientProtocol() const
 
virtual ~TProof()
Clean up PROOF environment.
 
void RemoveChain(TChain *chain)
Remove chain from data set.
 
void SetupWorkersEnv(TList *wrks, Bool_t increasingpool=kFALSE)
Set up packages, loaded macros, include and lib paths ...
 
static Int_t GetInputData(TList *input, const char *cachedir, TString &emsg)
Get the input data from the file defined in the input list.
 
TList * fNonUniqueMasters
 
Int_t SendObject(const TObject *obj, ESlaves list=kActive)
Send object to master or slave servers.
 
Int_t HandleOutputOptions(TString &opt, TString &target, Int_t action)
Extract from opt information about output handling settings.
 
TVirtualProofPlayer * fPlayer
 
void AddFeedback(const char *name)
Add object to feedback list.
 
Bool_t IsParallel() const
 
static void LogViewer(const char *url=0, Int_t sessionidx=0)
Start the log viewer window usign the plugin manager.
 
TVirtualProofPlayer * GetPlayer() const
 
void CleanGDirectory(TList *ol)
Remove links to objects in list 'ol' from gDirectory.
 
void DeActivateAsyncInput()
De-activate a-sync input handler.
 
Int_t BroadcastRaw(const void *buffer, Int_t length, TList *slaves)
Broadcast a raw buffer of specified length to all slaves in the specified list.
 
static void ResetEnvVars()
Clear the list of environment variables passed to proofserv on the master and slaves.
 
void AddInputData(TObject *obj, Bool_t push=kFALSE)
Add data objects that might be needed during the processing of the selector (see Process()).
 
void AskParallel()
Ask the for the number of parallel slaves.
 
virtual void ClearCache(const char *file=0)
Remove file from all file caches.
 
virtual void ClearDataSetCache(const char *dataset=0)
Clear the content of the dataset cache, if any (matching 'dataset', if defined).
 
Int_t ActivateWorker(const char *ord, Bool_t save=kTRUE)
Make sure that the worker identified by the ordinal number 'ord' is in the active list.
 
Int_t CleanupSession(const char *sessiontag)
Send cleanup request for the session specified by tag.
 
virtual Bool_t CancelStagingDataSet(const char *dataset)
Cancels a dataset staging request.
 
TObject * GetParameter(const char *par) const
Get specified parameter.
 
void SetRunStatus(ERunStatus rst)
 
Long64_t fLastPollWorkers_s
 
Int_t Archive(Int_t query, const char *url)
Send archive request for the qry-th query in fQueries.
 
void AskForOutput(TSlave *sl)
Master asks for output from worker sl.
 
TList * GetListOfPackages()
Get from the master the list of names of the packages available.
 
TQueryResult * GetQueryResult(const char *ref=0)
Return pointer to the full TQueryResult instance owned by the player and referenced by 'ref'.
 
Int_t GetNumberOfSlaves() const
Return number of slaves as described in the config file.
 
void StartupMessage(const char *msg, Bool_t status, Int_t done, Int_t total)
Send startup message.
 
static void AssertMacroPath(const char *macro)
Make sure that the directory path contained by macro is in the macro path.
 
Int_t AddIncludePath(const char *incpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'incpath' to the inc path search.
 
virtual TMap * GetDataSets(const char *uri="", const char *optStr="")
Lists all datasets that match given uri.
 
PrintProgress_t fPrintProgress
 
virtual void ShowCache(Bool_t all=kFALSE)
List contents of file cache.
 
void ClearFeedback()
Clear feedback list.
 
static TProof * Open(const char *url=0, const char *conffile=0, const char *confdir=0, Int_t loglevel=0)
Start a PROOF session on a specific cluster.
 
void Browse(TBrowser *b)
Build the PROOF's structure in the browser.
 
void InterruptCurrentMonitor()
If in active in a monitor set ready state.
 
void ResetMergePrg()
Reset the merge progress notificator.
 
void SetPerfTree(const char *pf="perftree.root", Bool_t withWrks=kFALSE)
Enable/Disable saving of the performance tree.
 
void ClearData(UInt_t what=kUnregistered, const char *dsname=0)
Remove files for the data directory.
 
void Touch()
Ping PROOF slaves. Returns the number of slaves that responded.
 
Int_t AssertPath(const char *path, Bool_t writable)
Make sure that 'path' exists; if 'writable' is kTRUE, make also sure that the path is writable.
 
virtual void ShowStagingStatusDataSet(const char *dataset, const char *optStr="filter:SsCc")
Like GetStagingStatusDataSet, but displays results immediately.
 
Int_t VerifyDataSetParallel(const char *uri, const char *optStr)
Internal function for parallel dataset verification used TProof::VerifyDataSet and TProofLite::Verify...
 
const char * GetConfFile() const
 
Int_t GetRemoteProtocol() const
 
Int_t ModifyWorkerLists(const char *ord, Bool_t add, Bool_t save)
Modify the worker active/inactive list by making the worker identified by the ordinal number 'ord' ac...
 
Int_t SetParallel(Int_t nodes=-1, Bool_t random=kFALSE)
Tell PROOF how many slaves to use in parallel.
 
Int_t GoMoreParallel(Int_t nWorkersToAdd)
Add nWorkersToAdd workers to current list of workers.
 
virtual void ShowDataSetCache(const char *dataset=0)
Display the content of the dataset cache, if any (matching 'dataset', if defined).
 
const char * GetImage() const
 
Int_t FindNextFreeMerger()
Return a merger, which is both active and still accepts some workers to be assigned to it.
 
Int_t GetRC(const char *RCenv, Int_t &env, const char *ord="0")
Get into 'env' the value of integer RC env variable 'rcenv' on node 'ord'.
 
static void AddEnvVar(const char *name, const char *value)
Add an variable to the list of environment variables passed to proofserv on the master and slaves.
 
static Bool_t GetFileInCmd(const char *cmd, TString &fn)
Static method to extract the filename (if any) form a CINT command.
 
virtual void ShowDataSets(const char *uri="", const char *optStr="")
Shows datasets in locations that match the uri.
 
Int_t Collect(const TSlave *sl, Long_t timeout=-1, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect responses from slave sl.
 
Float_t GetCpuTime() const
 
void ClearDataProgress(Int_t r, Int_t t)
Progress bar for clear data.
 
static Int_t SendInputData(TQueryResult *qr, TProof *p, TString &emsg)
Send the input data file to the workers.
 
void SetPlayer(TVirtualProofPlayer *player)
Set a new PROOF player.
 
Int_t ClearPackage(const char *package)
Remove a specific package.
 
Int_t SendInitialState()
Transfer the initial (i.e.
 
Int_t AddWorkers(TList *wrks)
Works on the master node only.
 
void GetStatistics(Bool_t verbose=kFALSE)
Get statistics about CPU time, real time and bytes read.
 
virtual Bool_t RegisterDataSet(const char *name, TFileCollection *dataset, const char *optStr="")
Register the 'dataSet' on the cluster under the current user, group and the given 'dataSetName'.
 
Int_t Broadcast(const TMessage &mess, TList *slaves)
Broadcast a message to all slaves in the specified list.
 
void DeleteParameters(const char *wildcard)
Delete the input list parameters specified by a wildcard (e.g.
 
void PrepareInputDataFile(TString &dataFile)
Prepare the file with the input data objects to be sent the master; the objects are taken from the de...
 
void InitMembers()
Default initializations.
 
void RedirectWorker(TSocket *s, TSlave *sl, Int_t output_size)
Redirect output of worker sl to some merger.
 
void HandleSubmerger(TMessage *mess, TSlave *sl)
Process a message of type kPROOF_SUBMERGER.
 
void SetInputDataFile(const char *datafile)
Set the file to be used to optimally distribute the input data objects.
 
Int_t ClearPackages()
Remove all packages.
 
void SetParameter(const char *par, const char *value)
Set input list parameter.
 
virtual Bool_t StartSlaves(Bool_t attach=kFALSE)
Start up PROOF slaves.
 
Int_t Ping()
Ping PROOF. Returns 1 if master server responded.
 
void SetActive(Bool_t=kTRUE)
 
TSlave * CreateSubmaster(const char *url, const char *ord, const char *image, const char *msd, Int_t nwk=1)
Create a new TSlave of type TSlave::kMaster.
 
void SaveActiveList()
Save current list of active workers.
 
const char * GetDataPoolUrl() const
 
virtual Int_t SetDataSetTreeName(const char *dataset, const char *treename)
Set/Change the name of the default tree.
 
void ShowMissingFiles(TQueryResult *qr=0)
Show information about missing files during query described by 'qr' or the last query if qr is null (...
 
Int_t RemoveIncludePath(const char *incpath, Bool_t onClient=kFALSE)
Remove 'incpath' from the inc path search.
 
void SetMonitor(TMonitor *mon=0, Bool_t on=kTRUE)
Activate (on == TRUE) or deactivate (on == FALSE) all sockets monitored by 'mon'.
 
Int_t GetParallel() const
Returns number of slaves active in parallel mode.
 
Int_t UnloadPackage(const char *package)
Unload specified package.
 
void RemoveFeedback(const char *name)
Remove object from feedback list.
 
Int_t Remove(Int_t query, Bool_t all=kFALSE)
Send remove request for the qry-th query in fQueries.
 
std::recursive_mutex fCloseMutex
 
Bool_t SendingLogToWindow() const
 
static TPluginHandler * fgLogViewer
 
Long64_t GetBytesRead() const
 
void UpdateDialog()
Final update of the progress dialog.
 
void AskStatistics()
Ask the for the statistics of the slaves.
 
virtual void SetAlias(const char *alias="")
Set an alias for this session.
 
Bool_t fFinalizationRunning
 
void Detach(Option_t *opt="")
Detach this instance to its proofserv.
 
void PrintProgress(Long64_t total, Long64_t processed, Float_t procTime=-1., Long64_t bytesread=-1)
Print a progress bar on stderr. Used in batch mode.
 
TPluginHandler * fProgressDialog
 
Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias=0)
Start the PROOF environment.
 
const char * GetConfDir() const
 
virtual Long64_t DrawSelect(TDSet *dset, const char *varexp, const char *selection="", Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Execute the specified drawing action on a data set (TDSet).
 
Int_t DeactivateWorker(const char *ord, Bool_t save=kTRUE)
Remove the worker identified by the ordinal number 'ord' from the the active list.
 
void SetRealTimeLog(Bool_t on=kTRUE)
Switch ON/OFF the real-time logging facility.
 
void cd(Int_t id=-1)
Set session with 'id' the default one.
 
TFileCollection * GetMissingFiles(TQueryResult *qr=0)
Get a TFileCollection with the files missing in the query described by 'qr' or the last query if qr i...
 
void ParseConfigField(const char *config)
The config file field may contain special instructions which need to be parsed at the beginning,...
 
Int_t GetNumberOfBadSlaves() const
Return number of bad slaves.
 
Int_t Retrieve(Int_t query, const char *path=0)
Send retrieve request for the qry-th query in fQueries.
 
Int_t BroadcastFile(const char *file, Int_t opt, const char *rfile, TList *wrks)
Broadcast file to all workers in the specified list.
 
void ShowParameters(const char *wildcard="PROOF_*") const
Show the input list parameters specified by the wildcard.
 
TMonitor * fActiveMonitor
 
void SendDataSetStatus(const char *msg, UInt_t n, UInt_t tot, Bool_t st)
Send or notify data set status.
 
virtual Int_t RemoveDataSet(const char *dataset, const char *optStr="")
Remove the specified dataset from the PROOF cluster.
 
void LogMessage(const char *msg, Bool_t all)
Log a message into the appropriate window by emitting a signal.
 
static void Reset(const char *url, Bool_t hard=kFALSE)
Wrapper around TProofMgr::Reset(...).
 
virtual Int_t PollForNewWorkers()
Asks the PROOF Serv for new workers in Dynamic Startup mode and activates them.
 
Int_t fLastAssignedMerger
 
TList * GetQueryResults()
Return pointer to the list of query results in the player.
 
void ShowFeedback() const
Show items in feedback list.
 
Int_t GoParallel(Int_t nodes, Bool_t accept=kFALSE, Bool_t random=kFALSE)
Go in parallel mode with at most "nodes" slaves.
 
void SetQueryMode(EQueryMode mode)
Change query running mode to the one specified by 'mode'.
 
Int_t UnloadPackages()
Unload all packages.
 
virtual TVirtualProofPlayer * MakePlayer(const char *player=0, TSocket *s=0)
Construct a TProofPlayer object.
 
TList * GetListOfActiveSlaves() const
 
TSignalHandler * fIntHandler
 
TList * FindDataSets(const char *searchString, const char *optStr="")
Find datasets, returns in a TList all found datasets.
 
Int_t SavePerfTree(const char *pf=0, const char *qref=0)
Save performance information from TPerfStats to file 'pf'.
 
virtual Int_t Load(const char *macro, Bool_t notOnClient=kFALSE, Bool_t uniqueOnly=kTRUE, TList *wrks=0)
Load the specified macro on master, workers and, if notOnClient is kFALSE, on the client.
 
Int_t AddDynamicPath(const char *libpath, Bool_t onClient=kFALSE, TList *wrks=0, Bool_t doCollect=kTRUE)
Add 'libpath' to the lib path search.
 
TProof()
Protected constructor to be used by classes deriving from TProof (they have to call Init themselves a...
 
Int_t RemoveWorkers(TList *wrks)
Used for shuting down the workres after a query is finished.
 
void Progress(Long64_t total, Long64_t processed)
Get query progress information.
 
Long64_t Finalize(Int_t query=-1, Bool_t force=kFALSE)
Finalize the qry-th query in fQueries.
 
Int_t RemoveDynamicPath(const char *libpath, Bool_t onClient=kFALSE)
Remove 'libpath' from the lib path search.
 
void ShowDataSetQuota(Option_t *opt=0)
shows the quota and usage of all groups if opt contains "U" shows also distribution of usage on user-...
 
void DeleteDrawFeedback(TDrawFeedback *f)
Delete draw feedback object.
 
virtual TFileCollection * GetStagingStatusDataSet(const char *dataset)
Obtains a TFileCollection showing the staging status of the specified dataset.
 
Bool_t CheckFile(const char *file, TSlave *sl, Long_t modtime, Int_t cpopt=(kCp|kCpBin))
Check if a file needs to be send to the slave.
 
Bool_t Prompt(const char *p)
Prompt the question 'p' requiring an answer y,Y,n,N Return kTRUE is the answer was y or Y,...
 
void SetProgressDialog(Bool_t on=kTRUE)
Enable/Disable the graphic progress dialog.
 
void GoAsynchronous()
Send GOASYNC message to the master.
 
TList * GetOutputList()
Get list with all object created during processing (see Process()).
 
TList * fAvailablePackages
 
void SetManager(TProofMgr *mgr)
Set manager and schedule its destruction after this for clean operations.
 
TString Getenv(const char *env, const char *ord="0")
Get value of environment variable 'env' on node 'ord'.
 
void StopProcess(Bool_t abort, Int_t timeout=-1)
Send STOPPROCESS message to master and workers.
 
TList * GetEnabledPackages() const
 
Int_t GetNumberOfActiveSlaves() const
Return number of active slaves, i.e.
 
TSlave * CreateSlave(const char *url, const char *ord, Int_t perf, const char *image, const char *workdir)
Create a new TSlave of type TSlave::kSlave.
 
void GetMaxQueries()
Get max number of queries whose full results are kept in the remote sandbox.
 
Int_t SendFile(const char *file, Int_t opt=(kBinary|kForward|kCp|kCpBin), const char *rfile=0, TSlave *sl=0)
Send a file to master or slave servers.
 
static Int_t AssertDataSet(TDSet *dset, TList *input, TDataSetManager *mgr, TString &emsg)
Make sure that dataset is in the form to be processed.
 
friend class TProofInputHandler
 
void Interrupt(EUrgent type, ESlaves list=kActive)
Send interrupt to master or slave servers.
 
Float_t GetRealTime() const
 
Int_t UploadDataSet(const char *, TList *, const char *=0, Int_t=0, TList *=0)
*** This function is deprecated and will disappear in future versions *** *** It is just a wrapper ar...
 
void MarkBad(TSlave *wrk, const char *reason=0)
Add a bad slave server to the bad slave list and remove it from the active list and from the two moni...
 
Int_t SendGroupView()
Send to all active slaves servers the current slave group size and their unique id.
 
Int_t RestoreActiveList()
Restore saved list of active workers.
 
virtual Int_t Echo(const TObject *obj)
Sends an object to master and workers and expect them to send back a message with the output of its T...
 
void ShowLog(Int_t qry=-1)
Display on screen the content of the temporary log file.
 
void ClearInputData(TObject *obj=0)
Remove obj form the input data list; if obj is null (default), clear the input data info.
 
Int_t SendCommand(const char *cmd, ESlaves list=kActive)
Send command to be executed on the PROOF master and/or slaves.
 
void Feedback(TList *objs)
Get list of feedback objects.
 
virtual Bool_t RequestStagingDataSet(const char *dataset)
Allows users to request staging of a particular dataset.
 
Int_t GetLogLevel() const
 
TObject * GetOutput(const char *name)
Get specified object that has been produced during the processing (see Process()).
 
TList * GetListOfSlaveInfos()
Returns list of TSlaveInfo's. In case of error return 0.
 
virtual TTree * GetTreeHeader(TDSet *tdset)
Creates a tree header (a tree with nonexisting files) object for the DataSet.
 
virtual void ValidateDSet(TDSet *dset)
Validate a TDSet.
 
TProofMgr::EServType fServType
 
Int_t UploadDataSetFromFile(const char *, const char *, const char *=0, Int_t=0, TList *=0)
*** This function is deprecated and will disappear in future versions *** *** It is just a wrapper ar...
 
static TList * fgProofEnvList
 
virtual void FindUniqueSlaves()
Add to the fUniqueSlave list the active slaves that have a unique (user) file system image.
 
const char * GetUser() const
 
void TerminateWorker(TSlave *wrk)
Ask an active worker 'wrk' to terminate, i.e. to shutdown.
 
static void SystemCmd(const char *cmd, Int_t fdout)
Exec system command 'cmd'. If fdout > -1, append the output to fdout.
 
EQueryMode GetQueryMode(Option_t *mode=0) const
Find out the query mode based on the current setting and 'mode'.
 
TString fActiveSlavesSaved
 
Int_t LoadPackage(const char *package, Bool_t notOnClient=kFALSE, TList *loadopts=0, TList *workers=0)
Load specified package.
 
Bool_t fSendGroupView
list returned by kPROOF_GETSLAVEINFO
 
void ResetProgressDialog(const char *sel, Int_t sz, Long64_t fst, Long64_t ent)
Reset progress dialog.
 
void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)
Set draw feedback option.
 
friend class TProofInterruptHandler
 
virtual TFileCollection * GetDataSet(const char *dataset, const char *optStr="")
Get a list of TFileInfo objects describing the files of the specified dataset.
 
TDrawFeedback * CreateDrawFeedback()
Draw feedback creation proxy.
 
void AddChain(TChain *chain)
Add chain to data set.
 
static const TList * GetEnvVars()
Get environemnt variables.
 
TSlave * FindSlave(TSocket *s) const
Find slave that has TSocket s. Returns 0 in case slave is not found.
 
TList * GetListOfEnabledPackages()
Get from the master the list of names of the packages enabled.
 
TList * GetFeedbackList() const
Return feedback list.
 
virtual void SendInputDataFile()
Send the input data objects to the master; the objects are taken from the dedicated list and / or the...
 
virtual TList * GetListOfQueries(Option_t *opt="")
Ask the master for the list of queries.
 
static void DelEnvVar(const char *name)
Remove an variable from the list of environment variables passed to proofserv on the master and slave...
 
Int_t BroadcastObject(const TObject *obj, Int_t kind, TList *slaves)
Broadcast an object to all slaves in the specified list.
 
void SetLogLevel(Int_t level, UInt_t mask=TProofDebug::kAll)
Set server logging level.
 
TList * fEnabledPackagesOnCluster
 
virtual Long64_t Process(TDSet *dset, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)
Process a data set (TDSet) using the specified selector (.C) file or Tselector object Entry- or event...
 
void ClearInput()
Clear input object list.
 
TList * GetListOfBadSlaves() const
 
Int_t GetSandbox(TString &sb, Bool_t assert=kFALSE, const char *rc=0)
Set the sandbox path from ' Proof.Sandbox' or the alternative var 'rc'.
 
Int_t DisablePackage(const char *package)
Remove a specific package.
 
Int_t GetQueryReference(Int_t qry, TString &ref)
Get reference for the qry-th query in fQueries (as displayed by ShowQueries).
 
Int_t GetNumberOfUniqueSlaves() const
Return number of unique slaves, i.e.
 
virtual Bool_t ExistsDataSet(const char *dataset)
Returns kTRUE if 'dataset' exists, kFALSE otherwise.
 
void ShowDataSet(const char *dataset="", const char *opt="filter:SsCc")
display meta-info for given dataset usi
 
Int_t HandleInputMessage(TSlave *wrk, TMessage *m, Bool_t deactonfail=kFALSE)
Analyze the received message.
 
void SetDSet(TDSet *dset)
 
void AddInput(TObject *obj)
Add objects that might be needed during the processing of the selector (see Process()).
 
void RecvLogFile(TSocket *s, Int_t size)
Receive the log file of the slave with socket s.
 
void CloseProgressDialog()
Close progress dialog.
 
TProofOutputList fOutputList
 
Int_t GetActiveMergersCount()
Get the active mergers count.
 
void DataSetStatus(const char *msg, Bool_t status, Int_t done, Int_t total)
Send dataset preparation status.
 
TMacro * GetLastLog()
Fill a TMacro with the log lines since the last reading (fLogFileR) Return (TMacro *)0 if no line was...
 
TList * GetInputList()
Get input list.
 
void ReleaseMonitor(TMonitor *mon)
Release the used monitor to be used, making sure to delete newly created monitors.
 
void ShowEnabledPackages(Bool_t all=kFALSE)
List which packages are enabled.
 
void SetMaxDrawQueries(Int_t max)
Set max number of draw queries whose results are saved.
 
void GetLog(Int_t start=-1, Int_t end=-1)
Ask for remote logs in the range [start, end].
 
Int_t CollectInputFrom(TSocket *s, Int_t endtype=-1, Bool_t deactonfail=kFALSE)
Collect and analyze available input from socket s.
 
const char * GetMaster() const
 
void QueryResultReady(const char *ref)
Notify availability of a query result.
 
virtual void SaveWorkerInfo()
Save information about the worker set in the file .workers in the working dir.
 
Int_t EnablePackage(const char *package, Bool_t notOnClient=kFALSE, TList *workers=0)
Enable specified package.
 
Bool_t IsDataReady(Long64_t &totalbytes, Long64_t &bytesready)
See if the data is ready to be analyzed.
 
const char * GetGroup() const
 
virtual Int_t VerifyDataSet(const char *dataset, const char *optStr="")
Verify if all files in the specified dataset are available.
 
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
 
void EmitVA(const char *signal_name, Int_t, const T &... params)
Emit a signal with a varying number of arguments.
 
A container class for query results.
 
virtual void SetOutputList(TList *out, Bool_t adopt=kTRUE)
Set / change the output list.
 
Long64_t GetEntries() const
 
void SetTermTime(Float_t termtime)
 
void SetArchived(const char *archfile)
Set (or update) query in archived state.
 
void SetPrepTime(Float_t preptime)
 
virtual void SetInputList(TList *in, Bool_t adopt=kTRUE)
Set / change the input list.
 
TObject * GetInputObject(const char *classname) const
Return first instance of class 'classname' in the input list.
 
void AddInput(TObject *obj)
Add obj to the input list.
 
TMacro * GetLogFile() const
 
Bool_t IsFinalized() const
 
static const char * GetMacroPath()
Get macro search path. Static utility function.
 
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
 
Double_t Rndm() override
Machine independent random number generator.
 
virtual UInt_t Integer(UInt_t imax)
Returns a random integer uniformly distributed on the interval [ 0, imax-1 ].
 
Regular expression class.
 
virtual const char * AsString(TString &out)
Returns short string with relevant information about this security context.
 
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
 
Sequenceable collection abstract base class.
 
void Add() override
Add signal handler to system signal handler list.
 
void Remove() override
Remove signal handler from system signal handler list.
 
Int_t Compare(const TObject *obj) const
Used to sort slaveinfos by ordinal.
 
SysInfo_t GetSysInfo() const
 
void SetStatus(ESlaveStatus stat)
 
const char * GetOrdinal() const
 
void SetSysInfo(SysInfo_t si)
Setter for fSysInfo.
 
void SetOrdinal(const char *ord)
 
const char * GetName() const
Returns name of object.
 
Bool_t IsEqual(const TObject *obj) const
Used to compare slaveinfos by ordinal.
 
const char * GetDataDir() const
 
void Print(Option_t *option="") const
Print slave info.
 
Class describing a PROOF worker server.
 
virtual void SetAlias(const char *alias)
Set an alias for this session.
 
const char * GetWorkDir() const
 
Int_t GetSlaveType() const
 
Int_t GetParallel() const
 
const char * GetImage() const
 
void SetArchCompiler(const char *ac)
 
TSocket * GetSocket() const
 
virtual void SetStatus(Int_t st)
 
virtual void StopProcess(Bool_t abort, Int_t timeout)
Sent stop/abort request to PROOF server.
 
virtual void FlushSocket()
 
const char * GetUser() const
 
TFileHandler * GetInputHandler() const
 
const char * GetMsd() const
 
static TSlave * Create(const char *url, const char *ord, Int_t perf, const char *image, TProof *proof, Int_t stype, const char *workdir, const char *msd, Int_t nwk=1)
Static method returning the appropriate TSlave object for the remote server.
 
void SetInputHandler(TFileHandler *ih)
Adopt and register input handler for this slave.
 
virtual void Interrupt(Int_t type)
Send interrupt OOB byte to master or slave servers.
 
virtual void SetInterruptHandler(Bool_t)
 
virtual Int_t SetupServ(Int_t stype, const char *conffile)
Init a PROOF slave object.
 
virtual Int_t Ping()
Ping the remote master or slave servers.
 
virtual Int_t SendGroupPriority(const char *, Int_t)
 
const char * GetName() const
Returns name of object.
 
virtual Bool_t IsValid() const
 
void SetSessionTag(const char *st)
 
const char * GetOrdinal() const
 
const char * GetProofWorkDir() const
 
void SetROOTVersion(const char *rv)
 
virtual void Close(Option_t *opt="")
Close slave socket.
 
virtual Int_t Recv(TMessage *&mess)
Receive a TMessage object.
 
Int_t GetRemoteProtocol() const
 
TInetAddress GetInetAddress() const
 
virtual Int_t RecvRaw(void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Receive a raw buffer of specified length bytes.
 
TSecContext * GetSecContext() const
 
virtual Int_t SendRaw(const void *buffer, Int_t length, ESendRecvOptions opt=kDefault)
Send a raw buffer of specified length.
 
virtual Int_t SendObject(const TObject *obj, Int_t kind=kMESS_OBJECT)
Send an object.
 
virtual Bool_t IsValid() const
 
virtual Int_t Reconnect()
 
virtual Int_t Send(const TMessage &mess)
Send a TMessage object.
 
A sorted doubly linked list.
 
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
 
void Stop()
Stop the stopwatch.
 
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
 
TString & Insert(Ssiz_t pos, const char *s)
 
Int_t Atoi() const
Return integer value of string.
 
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
 
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
 
Double_t Atof() const
Return floating-point value contained in string.
 
Bool_t IsFloat() const
Returns kTRUE if string contains a floating point or integer number.
 
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
 
Ssiz_t First(char c) const
Find first occurrence of a character c.
 
const char * Data() const
 
Bool_t IsDigit() const
Returns true if all characters in string are digits (0-9) or white spaces, i.e.
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
Ssiz_t Last(char c) const
Find last occurrence of a character c.
 
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
TString & Prepend(const char *cs)
 
TString & Remove(Ssiz_t pos)
 
TString & Append(const char *cs)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
virtual Int_t RedirectOutput(const char *name, const char *mode="a", RedirectHandle_t *h=nullptr)
Redirect standard output (stdout, stderr) to the specified file.
 
virtual const char * GetBuildCompilerVersion() const
Return the build compiler version.
 
static void ResetErrno()
Static function resetting system error number.
 
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
 
static Int_t GetErrno()
Static function returning system error number.
 
virtual void AddIncludePath(const char *includePath)
Add a directory to the already set include path.
 
virtual int Chmod(const char *file, UInt_t mode)
Set the file permission bits. Returns -1 in case or error, 0 otherwise.
 
virtual int GetPid()
Get process id.
 
virtual int CopyFile(const char *from, const char *to, Bool_t overwrite=kFALSE)
Copy a file.
 
virtual const char * Getenv(const char *env)
Get environment variable.
 
virtual const char * GetIncludePath()
Get the list of include path.
 
virtual TString SplitAclicMode(const char *filename, TString &mode, TString &args, TString &io) const
This method split a filename of the form:
 
virtual int mkdir(const char *name, Bool_t recursive=kFALSE)
Make a file system directory.
 
virtual Int_t Exec(const char *shellcmd)
Execute a command.
 
virtual void SetIncludePath(const char *includePath)
IncludePath should contain the list of compiler flags to indicate where to find user defined header f...
 
virtual FILE * OpenPipe(const char *command, const char *mode)
Open a pipe.
 
int GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime)
Get info about a file: id, size, flags, modification time.
 
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
 
virtual FILE * TempFileName(TString &base, const char *dir=nullptr)
Create a secure temporary file by appending a unique 6 letter string to base.
 
virtual int ClosePipe(FILE *pipe)
Close the pipe.
 
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
 
virtual void AddSignalHandler(TSignalHandler *sh)
Add a signal handler to list of system signal handlers.
 
virtual const char * GetDynamicPath()
Return the dynamic path (used to find shared libraries).
 
virtual TString GetFromPipe(const char *command)
Execute command and return output in TString.
 
virtual const char * HostName()
Return the system's host name.
 
virtual void Unsetenv(const char *name)
Unset environment variable.
 
virtual Bool_t IsAbsoluteFileName(const char *dir)
Return true if dir is an absolute pathname.
 
virtual void SetDynamicPath(const char *pathname)
Set the dynamic path to a new value.
 
virtual const char * WorkingDirectory()
Return working directory.
 
virtual char * Which(const char *search, const char *file, EAccessMode mode=kFileExists)
Find location of file in a search path.
 
virtual TInetAddress GetHostByName(const char *server)
Get Internet Protocol (IP) address of host.
 
virtual TSignalHandler * RemoveSignalHandler(TSignalHandler *sh)
Remove a signal handler from list of signal handlers.
 
virtual void Setenv(const char *name, const char *value)
Set environment variable.
 
virtual const char * GetBuildArch() const
Return the build architecture.
 
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
 
virtual int Unlink(const char *name)
Unlink, i.e.
 
virtual UserGroup_t * GetUserInfo(Int_t uid)
Returns all user info in the UserGroup_t structure.
 
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
 
A TTree represents a columnar dataset.
 
virtual Long64_t GetMaxEntryLoop() const
 
This class represents a RFC 3986 compatible URI.
 
Bool_t SetFragment(const TString &fragment)
Set fragment component of URI:
 
const TString GetUri() const
Returns the whole URI - an implementation of chapter 5.3 component recomposition.
 
This class represents a WWW compatible URL.
 
const char * GetUrl(Bool_t withDeflt=kFALSE) const
Return full URL.
 
const char * GetFile() const
 
void SetUser(const char *user)
 
void SetProtocol(const char *proto, Bool_t setDefaultPort=kFALSE)
Set protocol and, optionally, change the port accordingly.
 
const char * GetUser() const
 
const char * GetHost() const
 
void SetOptions(const char *opt)
 
const char * GetHostFQDN() const
Return fully qualified domain name of url host.
 
const char * GetOptions() const
 
void SetHost(const char *host)
 
const char * GetProtocol() const
 
void SetPasswd(const char *pw)
 
The packetizer is a load balancing object created for each query.
 
virtual Int_t AddProcessed(TSlave *, TProofProgressStatus *, Double_t, TList **)
 
virtual void MarkBad(TSlave *, TProofProgressStatus *, TList **)
 
Abstract interface for the PROOF player.
 
virtual TDSetElement * GetNextPacket(TSlave *slave, TMessage *r)=0
 
virtual void AddEventsProcessed(Long64_t ev)=0
 
virtual void AddInput(TObject *inp)=0
 
virtual TQueryResult * GetCurrentQuery() const =0
 
virtual void AddOutput(TList *out)=0
 
virtual TList * GetInputList() const =0
 
virtual TObject * GetOutput(const char *name) const =0
 
virtual void SetDrawFeedbackOption(TDrawFeedback *f, Option_t *opt)=0
 
virtual void SetMaxDrawQueries(Int_t max)=0
 
virtual Long64_t GetEventsProcessed() const =0
 
virtual Long64_t DrawSelect(TDSet *set, const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)=0
 
virtual TQueryResult * GetQueryResult(const char *ref)=0
 
virtual void SetMerging(Bool_t on=kTRUE)=0
 
virtual EExitStatus GetExitStatus() const =0
 
virtual void Progress(Long64_t total, Long64_t processed)=0
 
virtual void AddQueryResult(TQueryResult *q)=0
 
static TVirtualProofPlayer * Create(const char *player, TProof *p, TSocket *s=0)
Create a PROOF player.
 
virtual void UpdateAutoBin(const char *name, Double_t &xmin, Double_t &xmax, Double_t &ymin, Double_t &ymax, Double_t &zmin, Double_t &zmax)=0
 
virtual Int_t AddOutputObject(TObject *obj)=0
 
virtual Bool_t JoinProcess(TList *workers)=0
 
virtual TList * GetListOfResults() const =0
 
virtual void ClearInput()=0
 
virtual void HandleRecvHisto(TMessage *mess)=0
 
virtual void RemoveQueryResult(const char *ref)=0
 
virtual void StopProcess(Bool_t abort, Int_t timeout=-1)=0
 
virtual Long64_t Finalize(Bool_t force=kFALSE, Bool_t sync=kFALSE)=0
 
virtual Long64_t Process(TDSet *set, const char *selector, Option_t *option="", Long64_t nentries=-1, Long64_t firstentry=0)=0
 
virtual void StoreFeedback(TObject *slave, TList *out)=0
 
virtual TDrawFeedback * CreateDrawFeedback(TProof *p)=0
 
virtual TVirtualPacketizer * GetPacketizer() const
 
virtual void DeleteDrawFeedback(TDrawFeedback *f)=0
 
virtual TList * GetOutputList() const =0
 
virtual void SetInitTime()=0
 
virtual void SetCurrentQuery(TQueryResult *q)=0
 
TClass * IsA() const override
 
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
 
Double_t Sqrt(Double_t x)
Returns the square root of x.