in java/amazon-kinesis-producer/src/main/java/com/amazonaws/services/kinesis/producer/Daemon.java [515:542]
private synchronized void fatalError(String message, Throwable t, boolean retryable) {
if (!shutdown.getAndSet(true)) {
if (process != null) {
if (stdErrReader != null) {
stdErrReader.prepareForShutdown();
}
if (stdOutReader != null) {
stdOutReader.prepareForShutdown();
}
process.destroy();
}
try {
executor.awaitTermination(1, TimeUnit.SECONDS);
} catch (InterruptedException e) { }
executor.shutdownNow();
if (handler != null) {
if (retryable) {
handler.onError(t != null
? new RuntimeException(message, t)
: new RuntimeException(message));
} else {
handler.onError(t != null
? new IrrecoverableError(message, t)
: new IrrecoverableError(message));
}
}
}
}