From 9ed204bb2874e6d52e55b8104c4c3572a94ca0d7 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Wed, 15 Feb 2012 18:03:53 +0100 Subject: [PATCH] catch RejectedExecutionException --- .../compiler/CompileServerManager.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java index 4c0923bda22e..b7b229797717 100644 --- a/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/CompileServerManager.java @@ -76,6 +76,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; import java.util.concurrent.Future; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.RunnableFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -130,17 +131,22 @@ public class CompileServerManager implements ApplicationComponent{ @Override public void run() { if (!myAutoMakeInProgress.getAndSet(true)) { - ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { - @Override - public void run() { - try { - runAutoMake(); + try { + ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + @Override + public void run() { + try { + runAutoMake(); + } + finally { + myAutoMakeInProgress.set(false); + } } - finally { - myAutoMakeInProgress.set(false); - } - } - }); + }); + } + catch (RejectedExecutionException ignored) { + // we were shut down + } } else { scheduleMake(this);