Merge pull request #3934 from JakubValtar/mem-leak

Shutdown error checker executor properly
This commit is contained in:
Ben Fry
2015-09-30 15:37:28 -04:00

View File

@@ -249,8 +249,7 @@ public class ErrorCheckerService {
private Thread errorCheckerThread;
private BlockingQueue<Boolean> requestQueue = new ArrayBlockingQueue<>(1);
private ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
private ScheduledExecutorService scheduler;
volatile ScheduledFuture<?> scheduledUiUpdate = null;
volatile long nextUiUpdate = 0;
@@ -346,6 +345,7 @@ public class ErrorCheckerService {
public void start() {
scheduler = Executors.newSingleThreadScheduledExecutor();
errorCheckerThread = new Thread(mainLoop);
errorCheckerThread.start();
}
@@ -354,6 +354,9 @@ public class ErrorCheckerService {
cancel();
running = false;
errorCheckerThread.interrupt();
if (scheduler != null) {
scheduler.shutdownNow();
}
}