Warning: session_start(): open(/var/lib/php/sessions/sess_cubrl52bsfhju5geoal8hckqv4, 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
sclass TestPhantomCleanUp {
settable bool withGC;
gettable bool referenceWasCleared;
gettable Duration delayBeforeClearance;
settable double maxWait = 60.0; // how many seconds
run {
temp new RunnablesReferenceQueue queue;
class MyPhantomRef extends PhantomReference is Runnable {
new Flag flag;
*(A a, RunnablesReferenceQueue queue) {
super(a, queue!);
}
run {
print("Behold the phantom!");
flag.raise();
}
}
var ref = new MyPhantomRef(new S("copy of a string"), queue);
if (withGC) timedGC();
long time = sysNow();
printWithMS("Waiting...");
if (ref.flag.waitUntilUp(toMS_int(maxWait))) {
delayBeforeClearance = msToDuration(sysNow()-time);
referenceWasCleared = true;
printWithMS("Cool! Reference was cleared after " + renderElapsedSecondsPleasantly(delayBeforeClearance));
} else
printWithMS("Ouch");
}
}