diff --git a/common/dllserver/dllserver.cpp b/common/dllserver/dllserver.cpp index 46cef2609f4..8ab43058dcc 100644 --- a/common/dllserver/dllserver.cpp +++ b/common/dllserver/dllserver.cpp @@ -785,7 +785,10 @@ void initDllServer(const char * localRoot) { CriticalBlock b(dllServerCrit); ::Release(dllServer); - dllServer = new DllServer(localRoot); + if (isContainerized()) + dllServer = new SharedVolumeDllServer(localRoot); + else + dllServer = new DllServer(localRoot); } diff --git a/dali/base/dadfs.cpp b/dali/base/dadfs.cpp index 030af8e53ca..5bed33ac926 100644 --- a/dali/base/dadfs.cpp +++ b/dali/base/dadfs.cpp @@ -6271,22 +6271,27 @@ class CDistributedSuperFile: public CDistributedFileBase virtual IDistributedFile &querySubFile(unsigned idx,bool sub) override { CriticalBlock block (sect); - if (sub) { - ForEachItemIn(i,subfiles) { + if (sub) + { + unsigned subfilen = idx; + ForEachItemIn(i,subfiles) + { IDistributedFile &f=subfiles.item(i); IDistributedSuperFile *super = f.querySuperFile(); - if (super) { + if (super) + { unsigned ns = super->numSubFiles(true); - if (ns>idx) - return super->querySubFile(idx,true); - idx -= ns; + if (ns>subfilen) + return super->querySubFile(subfilen,true); + subfilen -= ns; } - else if (idx--==0) + else if (subfilen--==0) return f; } - // fall through to error + throw makeStringExceptionV(-1,"CDistributedSuperFile::querySubFile(%u) for superfile %s - subfile doesn't exist ", idx, logicalName.get()); } - return subfiles.item(idx); + else + return subfiles.item(idx); } virtual IDistributedFile *querySubFileNamed(const char *name, bool sub) override diff --git a/ecl/hqlcpp/hqlres.cpp b/ecl/hqlcpp/hqlres.cpp index 9f10a2cb6b4..f3445589360 100644 --- a/ecl/hqlcpp/hqlres.cpp +++ b/ecl/hqlcpp/hqlres.cpp @@ -648,6 +648,7 @@ bool ResourceManager::flush(StringBuffer &filename, const char *basename, bool f } fwrite(s.data.get(), 1, s.data.length(), bin); fclose(bin); + fprintf(f, " .size %s,%u\n", label.str(), (unsigned)s.data.length()); } fclose(f); #endif diff --git a/system/jlib/jstats.cpp b/system/jlib/jstats.cpp index 0f5b4618932..4dcab0b9ef1 100644 --- a/system/jlib/jstats.cpp +++ b/system/jlib/jstats.cpp @@ -2892,7 +2892,7 @@ void CRuntimeStatisticCollection::deserializeMerge(MemoryBuffer& in) in.read(hasNested); if (hasNested) { - ensureNested().deserializeMerge(in); + ensureNested().deserialize(in); } }