changeset 13:128b8539ab74

Report exceptions from the periodic task.
author shade
date Fri, 16 Dec 2016 16:58:29 +0100
parents 0d3cba812224
children f273c5864a03
files src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Wed Dec 14 23:59:15 2016 +0100
+++ b/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Fri Dec 16 16:58:29 2016 +0100
@@ -33,6 +33,7 @@
 import java.util.Map;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 
 class ShenandoahVisualizer {
@@ -77,7 +78,7 @@
         frame.setVisible(true);
 
         ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
-        service.scheduleAtFixedRate(() -> {
+        ScheduledFuture<?> f = service.scheduleAtFixedRate(() -> {
             Snapshot cur = data.snapshot();
             if (!cur.equals(lastSnapshot)) {
                 renderedImage = render(cur, width, height);
@@ -92,6 +93,8 @@
                 frame.dispose();
             }
         });
+
+        f.get();
     }
 
     static volatile Snapshot lastSnapshot;