Shutdown error checker executor properly

This commit is contained in:
Jakub Valtar
2015-09-30 15:33:53 -04:00
parent 6d7c1c79c5
commit e123e4972d

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();
}
}