summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-02-06 11:11:41 +0100
committerHåkon Hallingstad <hakon@oath.com>2018-02-06 11:11:41 +0100
commitbe13dc1eea79f6a5dc2b57c12568659377f6265f (patch)
tree16a6239daefe53af51bd0989e6e02f9f7ea6d033
parent9659e44703735cf7b7e6e0b772838e0a16721e3d (diff)
Simplify try-finally
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java20
1 files changed, 8 insertions, 12 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java
index 705aea1aafc..1c7a60a13fc 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java
@@ -74,19 +74,15 @@ public class ProcessFactoryImpl implements ProcessFactory {
try {
processBuilder.redirectOutput(temporaryFile.toFile());
ProcessApi2 process = processStarter.start(processBuilder);
- ChildProcess2Impl child = new ChildProcess2Impl(commandLine, process, temporaryFile, timer);
- // child is now responsible for deleting temporaryFile (it's AutoClosable)
- temporaryFile = null;
- return child;
- } finally {
- if (temporaryFile != null) {
- try {
- Files.delete(temporaryFile);
- } catch (IOException e) {
- logger.log(LogLevel.WARNING, "Failed to delete temporary file at " +
- temporaryFile, e);
- }
+ return new ChildProcess2Impl(commandLine, process, temporaryFile, timer);
+ } catch (RuntimeException | Error throwable) {
+ try {
+ Files.delete(temporaryFile);
+ } catch (IOException ioException) {
+ logger.log(LogLevel.WARNING, "Failed to delete temporary file at " +
+ temporaryFile, ioException);
}
+ throw throwable;
}
}