diff --git a/proof/proof/inc/TProofLite.h b/proof/proof/inc/TProofLite.h index bf5ece9a72d4070099c140425654ea3a193bb0d2..54d1f51935551460e37f1c94b0ac791e8fb62d53 100644 --- a/proof/proof/inc/TProofLite.h +++ b/proof/proof/inc/TProofLite.h @@ -88,7 +88,6 @@ private: protected: TProofLite() : TProof() { } // For derived classes to use - Int_t CreateSymLinks(TList *files, TList *wrks = 0); Int_t Init(const char *masterurl, const char *conffile, const char *confdir, Int_t loglevel, const char *alias = 0); diff --git a/proof/proof/src/TProofLite.cxx b/proof/proof/src/TProofLite.cxx index b4f7d76a552e1830a43b86d1e433071f4c3ccd63..4a5666580fbf026acaab5c235754236e54de3bdf 100644 --- a/proof/proof/src/TProofLite.cxx +++ b/proof/proof/src/TProofLite.cxx @@ -1423,44 +1423,6 @@ Long64_t TProofLite::Process(TDSet *dset, const char *selector, Option_t *option return rv; } -//////////////////////////////////////////////////////////////////////////////// -/// Create in each worker sandbox symlinks to the files in the list -/// Used to make the cache information available to workers. - -Int_t TProofLite::CreateSymLinks(TList *files, TList *wrks) -{ - Int_t rc = 0; - if (files) { - TList *wls = (wrks) ? wrks : fActiveSlaves; - TIter nxf(files); - TObjString *os = 0; - while ((os = (TObjString *) nxf())) { - // Expand target - TString tgt(os->GetName()); - gSystem->ExpandPathName(tgt); - // Loop over active workers - TIter nxw(wls); - TSlave *wrk = 0; - while ((wrk = (TSlave *) nxw())) { - // Link name - TString lnk = Form("%s/%s", wrk->GetWorkDir(), gSystem->BaseName(os->GetName())); - gSystem->Unlink(lnk); - if (gSystem->Symlink(tgt, lnk) != 0) { - rc++; - Warning("CreateSymLinks", "problems creating sym link: %s", lnk.Data()); - } else { - PDB(kGlobal,1) - Info("CreateSymLinks", "created sym link: %s", lnk.Data()); - } - } - } - } else { - Warning("CreateSymLinks", "files list is undefined"); - } - // Done - return rc; -} - //////////////////////////////////////////////////////////////////////////////// /// Initialize the dataset manager from directives or from defaults /// Return 0 on success, -1 on failure @@ -1626,8 +1588,6 @@ Int_t TProofLite::Load(const char *macro, Bool_t notOnClient, Bool_t uniqueOnly, } gSystem->FreeDirectory(dirp); } - // Create the relevant symlinks - CreateSymLinks(&cachedFiles, wrks); } } @@ -1649,7 +1609,7 @@ Int_t TProofLite::Load(const char *macro, Bool_t notOnClient, Bool_t uniqueOnly, /// Return -1 in case of error, 0 otherwise. Int_t TProofLite::CopyMacroToCache(const char *macro, Int_t headerRequired, - TSelector **selector, Int_t opt, TList *wrks) + TSelector **selector, Int_t opt, TList *) { // Relevant pointers TString cacheDir = fCacheDir; @@ -1760,6 +1720,7 @@ Int_t TProofLite::CopyMacroToCache(const char *macro, Int_t headerRequired, dot = binname.Last('.'); if (dot != kNPOS) binname.Replace(dot,1,"_"); + TString pcmname = TString::Format("%s_ACLiC_dict_rdict.pcm", binname.Data()); binname += "."; FileStat_t stlocal, stcache; @@ -1771,7 +1732,8 @@ Int_t TProofLite::CopyMacroToCache(const char *macro, Int_t headerRequired, if (dirp) { const char *e = 0; while ((e = gSystem->GetDirEntry(dirp))) { - if (!strncmp(e, binname.Data(), binname.Length())) { + if (!strncmp(e, binname.Data(), binname.Length()) || + !strncmp(e, pcmname.Data(), pcmname.Length())) { TString fncache = Form("%s/%s", cacheDir.Data(), e); Bool_t docp = kTRUE; if (!gSystem->GetPathInfo(fncache, stcache)) { @@ -1810,7 +1772,8 @@ Int_t TProofLite::CopyMacroToCache(const char *macro, Int_t headerRequired, if (dirp) { const char *e = 0; while ((e = gSystem->GetDirEntry(dirp))) { - if (!strncmp(e, binname.Data(), binname.Length())) { + if (!strncmp(e, binname.Data(), binname.Length()) || + !strncmp(e, pcmname.Data(), pcmname.Length())) { Bool_t docp = kTRUE; if (!gSystem->GetPathInfo(e, stlocal)) { TString fncache = Form("%s/%s", cacheDir.Data(), e); @@ -1864,10 +1827,6 @@ Int_t TProofLite::CopyMacroToCache(const char *macro, Int_t headerRequired, cacheLock->Unlock(); - // Create symlinks - if (opt & (kCp | kCpBin)) - CreateSymLinks(cachedFiles, wrks); - cachedFiles->SetOwner(); delete cachedFiles;