From 8cd5ca7a39003555b4033bdfe6c44c59192609eb Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Tue, 28 Jun 2016 14:40:02 +0200 Subject: [PATCH] Set hasPty property for PTY based processes (PY-19573) This flag determines whether the output is read in blocking or non-blocking mode. Non-blocking mode doesn't work for PTY based processes as they don't proper implement available() method. --- .../src/com/intellij/execution/process/OSProcessHandler.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/platform-api/src/com/intellij/execution/process/OSProcessHandler.java b/platform/platform-api/src/com/intellij/execution/process/OSProcessHandler.java index c1354f4b3299..2250f0d6f615 100644 --- a/platform/platform-api/src/com/intellij/execution/process/OSProcessHandler.java +++ b/platform/platform-api/src/com/intellij/execution/process/OSProcessHandler.java @@ -25,6 +25,8 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.encoding.EncodingManager; import com.intellij.util.io.BaseOutputReader; +import com.pty4j.unix.UnixPtyProcess; +import com.pty4j.windows.WinPtyProcess; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -68,6 +70,7 @@ public class OSProcessHandler extends BaseOSProcessHandler { */ public OSProcessHandler(@NotNull Process process, /*@NotNull*/ String commandLine, @Nullable Charset charset) { super(process, commandLine, charset); + setHasPty(process instanceof UnixPtyProcess || process instanceof WinPtyProcess); } @NotNull