From 357895cc79150595b430e893dbfd59c33dd07a2f Mon Sep 17 00:00:00 2001 From: nathan Date: Sat, 20 Feb 2016 18:08:23 +0100 Subject: [PATCH] ShellProcessBuilder now returns exit value of process --- .../src/dorkbox/util/process/JavaProcessBuilder.java | 4 ++-- .../dorkbox/util/process/ShellProcessBuilder.java | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Dorkbox-Util/src/dorkbox/util/process/JavaProcessBuilder.java b/Dorkbox-Util/src/dorkbox/util/process/JavaProcessBuilder.java index 436b570..c03d28f 100644 --- a/Dorkbox-Util/src/dorkbox/util/process/JavaProcessBuilder.java +++ b/Dorkbox-Util/src/dorkbox/util/process/JavaProcessBuilder.java @@ -200,7 +200,7 @@ class JavaProcessBuilder extends ShellProcessBuilder { @Override public - void start() { + int start() { setExecutable(this.javaLocation); // save off the original arguments @@ -267,6 +267,6 @@ class JavaProcessBuilder extends ShellProcessBuilder { this.arguments.addAll(origArguments); - super.start(); + return super.start(); } } diff --git a/Dorkbox-Util/src/dorkbox/util/process/ShellProcessBuilder.java b/Dorkbox-Util/src/dorkbox/util/process/ShellProcessBuilder.java index ca5da95..5cdb556 100644 --- a/Dorkbox-Util/src/dorkbox/util/process/ShellProcessBuilder.java +++ b/Dorkbox-Util/src/dorkbox/util/process/ShellProcessBuilder.java @@ -162,7 +162,7 @@ class ShellProcessBuilder { public - void start() { + int start() { List argumentsList = new ArrayList(); // if no executable, then use the command shell @@ -403,11 +403,12 @@ class ShellProcessBuilder { } } + int exitValue = 0; + try { this.process.waitFor(); - @SuppressWarnings("unused") - int exitValue = this.process.exitValue(); + exitValue = this.process.exitValue(); // wait for the READER threads to die (meaning their streams have closed/EOF'd) if (writeToProcess_input != null) { @@ -434,7 +435,12 @@ class ShellProcessBuilder { // remove the shutdown hook now that we've shutdown. Runtime.getRuntime() .removeShutdownHook(hook); + + return exitValue; } + + // 1 means a problem + return 1; } /**