Author: cwiklik
Date: Fri Mar 22 13:12:24 2013
New Revision: 1459754
URL: http://svn.apache.org/r1459754
Log:
UIMA-2766 associates return code on process exit
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java?rev=1459754&r1=1459753&r2=1459754&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/DuccCommandExecutor.java
Fri Mar 22 13:12:24 2013
@@ -222,7 +222,7 @@ public class DuccCommandExecutor extends
}
private void doExec(ProcessBuilder pb, String[] cmd, boolean isKillCmd)
throws Exception {
String methodName = "doExec";
-
+ int exitCode=0;
try {
StringBuilder sb = new
StringBuilder((isKillCommand(cmdLine) ?"--->Killing Process ":"---> Launching
Process:")
@@ -237,7 +237,7 @@ public class DuccCommandExecutor extends
// Drain process streams
postExecStep(process, logger, isKillCmd);
// block waiting for the process to terminate.
- process.waitFor();
+ exitCode = process.waitFor();
if ( !isKillCommand(cmdLine) ) {
logger.info(methodName,
((ManagedProcess)super.managedProcess).getDuccId(), ">>>>>>>>>>>>> Process with
PID:"+((ManagedProcess)super.managedProcess).getDuccProcess().getPID()+"
Terminated");
}
@@ -258,6 +258,8 @@ public class DuccCommandExecutor extends
((ManagedProcess)super.managedProcess).getDuccProcess().setProcessState(ProcessState.Failed);
throw ex;
} finally {
+ // associate exit code
+ ((ManagedProcess)
managedProcess).getDuccProcess().setProcessExitCode(exitCode);
// Per team discussion on Aug 31 2011, the
process is stopped by an agent when initialization
// times out or initialization failed. Both
Initialization_Timeout and FailedIntialization imply
// that the process is stopped.