/** * Called after watchdog has finished. */ public synchronized void timeoutOccured(final Watchdog w) { try { try { // We must check if the process was not stopped // before being here if (process != null) { process.exitValue(); } } catch (final IllegalThreadStateException itse) { // the process is not terminated, if this is really // a timeout and not a manual stop then destroy it. if (watch) { killedProcess = true; process.destroy(); } } } catch (final Exception e) { caught = e; DebugUtils.handleException("Getting the exit value of the process failed", e); } finally { cleanUp(); } }