From e123e4972d69a6a713f81bf5a97623047143fdcc Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Wed, 30 Sep 2015 15:33:53 -0400 Subject: [PATCH] Shutdown error checker executor properly --- .../src/processing/mode/java/pdex/ErrorCheckerService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java/src/processing/mode/java/pdex/ErrorCheckerService.java b/java/src/processing/mode/java/pdex/ErrorCheckerService.java index 44983d4ed..1fc344e99 100644 --- a/java/src/processing/mode/java/pdex/ErrorCheckerService.java +++ b/java/src/processing/mode/java/pdex/ErrorCheckerService.java @@ -249,8 +249,7 @@ public class ErrorCheckerService { private Thread errorCheckerThread; private BlockingQueue 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(); + } }