Warning: session_start(): open(/var/lib/php/sessions/sess_rqu22i4p2hidk3ch2479u55glt, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
scope readLocally.
static void readLocally(S progID, S varNames) {
readLocally2(mc(), progID, varNames);
}
static void readLocally(S varNames) {
readLocally2(mc(), programID(), varNames);
}
static void readLocally2(O obj, S varNames) {
readLocally2(obj, programID(), varNames);
}
static int readLocally_stringLength;
static new ThreadLocal readLocally2_allDynamic;
static new ThreadLocal readLocally2_classFinder;
sbool #useTwoThreads = true;
// read a string variable from standard storage
// does not overwrite variable contents if there is no file
static void readLocally2(O obj, S progID, S varNames) ctex {
bool allDynamic = isTrue(getAndClearThreadLocal(readLocally2_allDynamic));
for (S variableName : javaTokC(varNames)) {
File textFile = new File(programDir(progID), variableName + ".text");
S value = loadTextFile(textFile);
if (value != null)
set(main.class, variableName, value);
else {
File structureFile = new File(programDir(progID), variableName + ".structure");
value = loadTextFile(structureFile);
if (value == null) {
File structureGZFile = new File(programDir(progID), variableName + ".structure.gz");
if (!structureGZFile.isFile()) ret;
temp new CloseablesHolder ch;
Producer tokenizer = gzFileTokenReaderForUnstruct(structureGZFile, ch);
if (useTwoThreads) {
tokenizer = moveProducerToNewThread(tokenizer, ch);
ifdef readLocally_debug
tokenizer = debugProducer(tokenizer);
endifdef
}
O o = unstructure_tok(tokenizer, allDynamic, readLocally2_classFinder!);
readLocally_set(obj, variableName, o);
ret;
}
readLocally_stringLength = l(value);
if (nempty(value))
readLocally_set(obj, variableName, unstructure(value, allDynamic, readLocally2_classFinder!));
}
}
}
static void readLocally_set(O c, S varName, O value) {
O oldValue = get(c, varName);
if (oldValue instanceof List && !(oldValue instanceof ArrayList) && value != null) {
// Assume it's a synchroList.
value = synchroList((L) value);
}
set(c, varName, value);
}
end scope