CPP-3088 Kill CMake processes when exiting IDE
authorVasily Pisar <vasily.pisar@jetbrains.com>
Tue, 19 Jan 2016 06:00:35 +0000 (09:00 +0300)
committerVasily Pisar <vasily.pisar@jetbrains.com>
Tue, 19 Apr 2016 10:11:29 +0000 (13:11 +0300)
- minor helper method

platform/platform-api/src/com/intellij/execution/process/ProcessOutput.java

index 552474500c869d1ff474f832db6ec2b8eb098906..3f7fd092494382afb8f6ea621f586cdaab36086d 100644 (file)
@@ -26,6 +26,8 @@ import java.util.List;
  * @author yole
  */
 public class ProcessOutput {
+  private static final int ERROR_EXIT_CODE = -1;
+  
   private final StringBuilder myStdoutBuilder = new StringBuilder();
   private final StringBuilder myStderrBuilder = new StringBuilder();
   private int myExitCode;
@@ -33,7 +35,7 @@ public class ProcessOutput {
   private boolean myCancelled;
 
   public ProcessOutput() {
-    myExitCode = -1; // until set explicitly, exit code denotes an error.
+    myExitCode = ERROR_EXIT_CODE; // until set explicitly, exit code denotes an error.
   }
 
   public ProcessOutput(final int exitCode) {
@@ -107,6 +109,14 @@ public class ProcessOutput {
     return myExitCode;
   }
 
+  /**
+   * @return true if exit code wasn't set and is still set to default value (this might happen, 
+   * for example, when our CapturingProcessHandler.runProcess() is interrupted)
+   */
+  public boolean hasErrorExitCode() {
+    return getExitCode() == ERROR_EXIT_CODE;
+  }
+
   public void setTimeout() {
     myTimeout = true;
   }