X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/36bc55ceb7b62569c7604f28b3e53bc2e42cf0ce..20acc11c8054200c02794f58e3cc63851b5627ff:/configcache.cpp diff --git a/configcache.cpp b/configcache.cpp index 168de5e..0cabc9d 100644 --- a/configcache.cpp +++ b/configcache.cpp @@ -72,8 +72,6 @@ bool configcache::isValidInFile(const string& infile, infiledesc *filedesc) string truncIn, truncOut; filedesc->filename = infile; - filedesc->doVirtualEquilibration = false; - filedesc->readEquilibratedConfigs = 0; if( infile.size() < 4 ) return false; @@ -98,8 +96,6 @@ bool configcache::isValidInFile(const string& infile, infiledesc *filedesc) return false; break; case 2: - if (atoi(inParts) < NEQUI) - filedesc->doVirtualEquilibration = true; filedesc->nequi = atoi(inParts); break; case 3: @@ -183,7 +179,6 @@ void * configcache::getHeader(const string& headerid) { void configcache::readConfig(bool& readnewconfig, int& nequileft, vector *excludeFileHashes) { readnewconfig = false; - nequileft = NEQUI; if(DATADIR == "" || MODE == CACHE_MODE_DISABLED) return; @@ -195,12 +190,24 @@ void configcache::readConfig(bool& readnewconfig, int& nequileft, vector::iterator inFileIt = getNextInfile(excludeFileHashes); + int iDidVirtualSkips; - if( (!inFile.is_open()) && inFileIt == inFiles.end() ) return; + if( (!inFile.is_open()) && inFileIt == inFiles.end() ) { + if (readnewconfig) + nequileft = nequileft_internal; + return; + } while( (!inFile.is_open()) && inFiles.size() > 0 ) { openFileDesc = *inFileIt; + if (openFileDesc.nequi < NEQUI) + doVirtualEquilibration = true; + else + doVirtualEquilibration = false; + + firstUsedConfig = true; + if(log) *log << "CCACHE: Opening dat-file: " << inFileIt->filename << endl << flush; inFile.open( (DATADIR + "/" + inFileIt->filename).c_str(), std::ios::binary ); @@ -215,16 +222,17 @@ void configcache::readConfig(bool& readnewconfig, int& nequileft, vector