Warning: session_start(): open(/var/lib/php/sessions/sess_4aov56ol0jkitasbne9i6epshd, 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
static long dm_evalOnOtherMachineWithReturnValue_timeout = 60000;
sO dm_evalOnOtherMachineWithReturnValue(fS computerID, S code, O... _) {
fS id = aGlobalID();
final new Var> var;
temp vmBus_onMessage('gotFromPrivateChat, voidfunc(S sender, S msg) {
if (var.has() || neq(sender, computerID)) ret;
new Matches m;
if (!startsWith(msg, "done " + id + " ", m)) ret;
if (neq(getAuthorOfSignedText(msg), computerID)) {
File f = javaxCachesDir("failed-eval-msg-" + computerID);
saveTextFile(f, msg);
var.set((Either) eitherB("eval result from " + computerID + " did not verify, saved as " + f));
}
S s = firstLine(m.rest());
if (startsWith(s, "direct: ", m))
var.set((Either) eitherA(m.rest()));
else if (startsWith(s, "quoted: ", m))
var.set((Either) eitherA(unquote(m.rest())));
else if (startsWith(s, "base64: ", m))
var.set((Either) eitherA(base64decode(m.rest())));
else if (startsWith(s, "error: ", m))
var.set((Either) eitherB(m.rest()));
else
var.set((Either) eitherB("unknown mode"));
});
dm_privateChat_sendSigned(computerID, computerID + " eval "
+ (boolOptPar(_, 'realEval) ? "real " : "")
+ (boolOptPar(_, 'fresh) ? "fresh " : "")
+ id + ": " + code);
Either e = waitForVarToBeNotNullWithTimeout(var, dm_evalOnOtherMachineWithReturnValue_timeout);
if (boolPar updateControllableFlag(_))
dm_pcall('controllableComputerList, 'setControllableByMe, computerID, eitherIsA(e));
if (e == null) fail("timeout");
if (eitherIsB(e)) fail(eitherGetB(e));
ret eitherGetA(e);
}