]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.workbench/src/org/simantics/workbench/internal/SimanticsWorkbenchAdvisor.java
Allow ExecutorWorker thread pool shutdown
[simantics/platform.git] / bundles / org.simantics.workbench / src / org / simantics / workbench / internal / SimanticsWorkbenchAdvisor.java
index 0bce2a5680cc57cc0af696be3faf7953cd1bb0db..39b797ba4ccbb7c108970a2b5e4b8705274804da 100644 (file)
@@ -105,6 +105,7 @@ import org.simantics.ui.jobs.SessionGarbageCollectorJob;
 import org.simantics.ui.workbench.PerspectiveBarsActivator;
 import org.simantics.ui.workbench.PerspectiveContextActivator;
 import org.simantics.utils.logging.TimeLogger;
+import org.simantics.utils.threads.ExecutorWorker;
 import org.simantics.utils.threads.ThreadUtils;
 import org.simantics.utils.ui.dialogs.ShowError;
 import org.simantics.utils.ui.dialogs.ShowMessage;
@@ -358,7 +359,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor {
         try {
             platformShutdownRunnable.run(null);
         } catch (InvocationTargetException e) {
-            Activator.logError(getClass().getSimpleName() + ".openWindows failed", e);
+            Activator.logError(getClass().getSimpleName() + ".openWindows failed", e.getCause());
         } catch (InterruptedException e) {
             Activator.logError(getClass().getSimpleName() + ".openWindows failed", e);
         }
@@ -754,6 +755,7 @@ public class SimanticsWorkbenchAdvisor extends WorkbenchAdvisor {
 
                 progress.subTask("Thread pools");
                 ThreadUtils.shutdown();
+                ExecutorWorker.shutdown();
                 progress.worked(5);
 
                 progress.subTask("Clear index status");