From a695b4f3e34e8a073744e4d40527de2965210ec1 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 19 Feb 2015 19:27:29 -0500 Subject: [PATCH] Correctly fetch more than one watcher event list --- src/com/limelight/input/EvdevLoader.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/limelight/input/EvdevLoader.java b/src/com/limelight/input/EvdevLoader.java index a4ddff8..c8ee221 100644 --- a/src/com/limelight/input/EvdevLoader.java +++ b/src/com/limelight/input/EvdevLoader.java @@ -90,14 +90,16 @@ public class EvdevLoader implements Runnable { WatchService watcher = evdev.getFileSystem().newWatchService(); evdev.register(watcher, StandardWatchEventKinds.ENTRY_CREATE); - WatchKey watckKey = watcher.take(); - List> events = watckKey.pollEvents(); - for (WatchEvent event:events) { - if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE) { - String name = event.context().toString(); - if (filter.accept(input, name)) { - LimeLog.info("Input " + name + " added"); - new EvdevHandler(conn, new File(input, name).getAbsolutePath(), mapping).start(); + for (;;) { + WatchKey watckKey = watcher.take(); + List> events = watckKey.pollEvents(); + for (WatchEvent event:events) { + if (event.kind() == StandardWatchEventKinds.ENTRY_CREATE) { + String name = event.context().toString(); + if (filter.accept(input, name)) { + LimeLog.info("Input " + name + " added"); + new EvdevHandler(conn, new File(input, name).getAbsolutePath(), mapping).start(); + } } } }