From 36accb02b3ab32954df2776151ab418347542658 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Thu, 18 Sep 2003 14:21:41 +0000 Subject: [PATCH] Treat timeout like a failed execution, fix comments on Execute#getExitCode git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275258 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/taskdefs/ExecTask.java | 7 ++++++- src/main/org/apache/tools/ant/taskdefs/Execute.java | 6 +++--- src/main/org/apache/tools/ant/taskdefs/Java.java | 7 +++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java index fc9d7768e..d6a0f40d6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java @@ -518,7 +518,12 @@ public class ExecTask extends Task { //test for and handle a forced process death if (exe.killedProcess()) { - log("Timeout: killed the sub-process", Project.MSG_WARN); + String msg = "Timeout: killed the sub-process"; + if (failOnError) { + throw new BuildException(msg); + } else { + log(msg, Project.MSG_WARN); + } } maybeSetResultPropertyValue(returnCode); if (Execute.isFailure(returnCode)) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Execute.java b/src/main/org/apache/tools/ant/taskdefs/Execute.java index e1f0b82e0..b7ee3a7c2 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Execute.java +++ b/src/main/org/apache/tools/ant/taskdefs/Execute.java @@ -569,8 +569,8 @@ public class Execute { /** * Query the exit value of the process. - * @return the exit value, 1 if the process was killed, - * or Execute.INVALID if no exit value has been received + * @return the exit value or Execute.INVALID if no exit value has + * been received */ public int getExitValue() { return exitValue; @@ -1153,4 +1153,4 @@ public class Execute { } } -} \ No newline at end of file +} diff --git a/src/main/org/apache/tools/ant/taskdefs/Java.java b/src/main/org/apache/tools/ant/taskdefs/Java.java index 14e4aef6e..6cce7c262 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Java.java +++ b/src/main/org/apache/tools/ant/taskdefs/Java.java @@ -691,6 +691,9 @@ public class Java extends Task { redirector.createStreams(); exe.execute(getProject()); redirector.complete(); + if (exe.killedProcess()) { + throw new BuildException("Timeout: killed the sub-process"); + } } catch (IOException e) { throw new BuildException(e); } @@ -728,10 +731,10 @@ public class Java extends Task { exe.setCommandline(command); try { int rc = exe.execute(); + redirector.complete(); if (exe.killedProcess()) { - log("Timeout: killed the sub-process", Project.MSG_WARN); + throw new BuildException("Timeout: killed the sub-process"); } - redirector.complete(); return rc; } catch (IOException e) { throw new BuildException(e, getLocation());