From feb536346f3455333ec284a2d93f9a2a4fd00eda Mon Sep 17 00:00:00 2001 From: Vyacheslav Karpukhin Date: Thu, 12 May 2016 14:56:07 +0200 Subject: [PATCH] Revert "CPP-6254 Output for CLion IDE sometimes cuts off when executing a program" This reverts commit 92e527b1a9043911edd55bd9a1f0d4ed0f27af6e. --- .../execution/process/BaseOSProcessHandler.java | 15 ++------------- .../com/intellij/util/io/BaseOutputReader.java | 6 +----- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/platform/util/src/com/intellij/execution/process/BaseOSProcessHandler.java b/platform/util/src/com/intellij/execution/process/BaseOSProcessHandler.java index 12ba86b83e86..364798b5004b 100644 --- a/platform/util/src/com/intellij/execution/process/BaseOSProcessHandler.java +++ b/platform/util/src/com/intellij/execution/process/BaseOSProcessHandler.java @@ -139,8 +139,8 @@ public class BaseOSProcessHandler extends ProcessHandler implements TaskExecutor public void consume(Integer exitCode) { try { // tell readers that no more attempts to read process' output should be made - stop(stdErrReader); - stop(stdOutReader); + if (stdErrReader != null) stdErrReader.stop(); + stdOutReader.stop(); try { if (stdErrReader != null) stdErrReader.waitFor(); @@ -163,17 +163,6 @@ public class BaseOSProcessHandler extends ProcessHandler implements TaskExecutor super.startNotify(); } - private static void stop(@Nullable BaseDataReader reader) { - if (reader != null) { - if (reader instanceof BaseOutputReader) { - ((BaseOutputReader)reader).stop(false); - } - else { - reader.stop(); - } - } - } - /** @deprecated override {@link #createOutputDataReader()} (to be removed in IDEA 18) */ protected BaseDataReader createErrorDataReader(@SuppressWarnings("UnusedParameters") BaseDataReader.SleepingPolicy policy) { return createErrorDataReader(); diff --git a/platform/util/src/com/intellij/util/io/BaseOutputReader.java b/platform/util/src/com/intellij/util/io/BaseOutputReader.java index 34e98b38dcc9..8ecdc3b40252 100644 --- a/platform/util/src/com/intellij/util/io/BaseOutputReader.java +++ b/platform/util/src/com/intellij/util/io/BaseOutputReader.java @@ -190,12 +190,8 @@ public abstract class BaseOutputReader extends BaseDataReader { @Override public void stop() { - stop(true); - } - - public void stop(boolean force) { super.stop(); - if (force && mySleepingPolicy == SleepingPolicy.BLOCKING) { + if (mySleepingPolicy == SleepingPolicy.BLOCKING) { // we can't count on super.stop() since it only sets 'isRunning = false', and blocked Reader.read won't wake up. try { close(); } catch (IOException ignore) { }