in src/main/java/org/apache/commons/exec/PumpStreamHandler.java [284:303]
protected void stopThread(final Thread thread, final long timeoutMillis) {
if (thread != null) {
try {
if (timeoutMillis == 0) {
thread.join();
} else {
final long timeToWaitMillis = timeoutMillis + STOP_TIMEOUT_ADDITION_MILLIS;
final long startTimeMillis = System.currentTimeMillis();
thread.join(timeToWaitMillis);
if (System.currentTimeMillis() > startTimeMillis + timeToWaitMillis) {
final String msg = "The stop timeout of " + timeoutMillis + " ms was exceeded";
caught = new ExecuteException(msg, Executor.INVALID_EXITVALUE);
}
}
} catch (final InterruptedException e) {
thread.interrupt();
}
}
}