diff options
author | Håkon Hallingstad <hakon@oath.com> | 2018-02-06 11:11:41 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2018-02-06 11:11:41 +0100 |
commit | be13dc1eea79f6a5dc2b57c12568659377f6265f (patch) | |
tree | 16a6239daefe53af51bd0989e6e02f9f7ea6d033 | |
parent | 9659e44703735cf7b7e6e0b772838e0a16721e3d (diff) |
Simplify try-finally
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/process/ProcessFactoryImpl.java | 20 |
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; } } |