Warning: session_start(): open(/var/lib/php/sessions/sess_hh955f3j21faovfd6l7i0ogqo7, 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
// returns last value
sclass PrintPolledValueUntilPredicateOrTimeout {
settable IF0 makeValue;
settable IPred pred; // if true, loop ends
settable double timeout = 60.0;
settable int interval = 100;
settable S printPrefix = "";
void printValue(A a) {
print(printPrefix, a);
}
A get() {
Timeout timeOut = new(timeout);
A a = makeValue!;
printValue(a);
if (pred != null && pred.get(a))
ret a;
while (!timeOut!) {
A b = makeValue!;
if (!eq(a, b))
printValue(a = b);
if (pred != null && pred.get(a))
break;
else
sleep(interval);
}
ret a;
}
run { get(); }
}