Warning: session_start(): open(/var/lib/php/sessions/sess_mu7v5j93ugrl8rrtq9nil1grtv, 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
import java.nio.file.*;
import static java.nio.file.StandardWatchEventKinds.*;
sclass FileWatchService implements AutoCloseable {
WatchService watchService;
new MultiMap> listeners;
int interval = 50; // larger interval helps show less duplicate events (https://stackoverflow.com/questions/16777869/java-7-watchservice-ignoring-multiple-occurrences-of-the-same-event/34818620#34818620)
Thread pollThread;
*() ctex {
watchService = FileSystems.getDefault().newWatchService();
}
public void close { dispose watchService; }
WatchKey addListener(File path, IVF1 listener, WatchEvent.Kind... eventKinds) ctex {
startPollThread();
WatchKey key = path.toPath().register(watchService, eventKinds);
listeners.put(key, listener);
ret key;
}
synchronized void startPollThread() {
if (pollThread != null) ret;
pollThread = startThread("File Watch Service", r {
while licensed {
WatchKey key = watchService.poll(10, TimeUnit.SECONDS);
if (key != null) {
Path dir = cast key.watchable();
sleep(interval);
L> events = key.pollEvents();
new LinkedHashSet changedFiles;
for (WatchEvent> event : reversedIterator(events)) pcall {
final Path changed = (Path) event.context();
File full = newFile(dir.toFile(), changed.toFile().getPath());
changedFiles.add(full);
//print("WatchService Changed: " + full + ", " + event.kind());
}
for (File f : changedFiles)
pcallFAll(listeners.get(key), f);
key.reset();
}
}
});
}
}