From 39c83243f890df4b6757e32c2ba6e891b4b92dfa Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 16 May 2018 18:01:44 +0200 Subject: [PATCH] ProcessWaiter: don't interrupt reading threads nobody checks for their interrupted status, and we suspect it might cause freezes in IDEA-192097 --- .../com/intellij/openapi/vcs/impl/ProcessWaiter.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/vcs/impl/ProcessWaiter.java b/platform/platform-api/src/com/intellij/openapi/vcs/impl/ProcessWaiter.java index 10cdf3d2a7f4..011f055eeb8c 100644 --- a/platform/platform-api/src/com/intellij/openapi/vcs/impl/ProcessWaiter.java +++ b/platform/platform-api/src/com/intellij/openapi/vcs/impl/ProcessWaiter.java @@ -40,13 +40,11 @@ public abstract class ProcessWaiter { myInStreamListener = createStreamListener(worker.getInputStream()); final Application app = ApplicationManager.getApplication(); - Future errorStreamReadingFuture = null; - Future outputStreamReadingFuture = null; final int rc; try { - errorStreamReadingFuture = app.executeOnPooledThread(myErrStreamListener); - outputStreamReadingFuture = app.executeOnPooledThread(myInStreamListener); + Future errorStreamReadingFuture = app.executeOnPooledThread(myErrStreamListener); + Future outputStreamReadingFuture = app.executeOnPooledThread(myInStreamListener); rc = worker.execute(); if (tryReadStreams(rc)) { errorStreamReadingFuture.get(timeout, TimeUnit.MILLISECONDS); @@ -54,12 +52,6 @@ public abstract class ProcessWaiter { } } finally { cancelListeners(); - if (errorStreamReadingFuture != null) { - errorStreamReadingFuture.cancel(true); - } - if (outputStreamReadingFuture != null) { - outputStreamReadingFuture.cancel(true); - } } return rc;