diff options
author | laszlocsomor <laszlocsomor@google.com> | 2018-07-10 06:11:18 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-10 06:12:53 -0700 |
commit | d17467e3bf9ff0408d201b960af71939b55b873b (patch) | |
tree | 926b928b4fac9decd8433a616e0a0cf271a6bab0 /src/main/java/com/google/devtools/build/lib/bazel | |
parent | 8c11fe9415e6d30069bdba559f6943747dd56e9f (diff) |
Bazel server, tools: ensure Writers are closed
Follow-up to commit 09d20311d982606093ed881d779bb05a5ee70ed3.
Use try-with-resources to ensure Writer objects
are closed eagerly.
Eagerly closing Writers avoids hanging on to
file handles until the garbage collector finalizes
the object, meaning Bazel on Windows (and
other processes) can delete or mutate these files.
Hopefully this avoids intermittent file deletion
errors that sometimes occur on Windows.
See https://github.com/bazelbuild/bazel/issues/5512
RELNOTES: none
PiperOrigin-RevId: 203934471
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/bazel')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java index d4d4849e6c..de53082f8e 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedModule.java @@ -60,13 +60,11 @@ public final class RepositoryResolvedModule extends BlazeModule { @Override public void afterCommand() { if (resolvedFile != null) { - try { - Writer writer = Files.newWriter(new File(resolvedFile), StandardCharsets.UTF_8); + try (Writer writer = Files.newWriter(new File(resolvedFile), StandardCharsets.UTF_8)) { writer.write( EXPORTED_NAME + " = " + Printer.getPrettyPrinter().repr(resultBuilder.build()).toString()); - writer.close(); } catch (IOException e) { logger.warning("IO Error writing to file " + resolvedFile + ": " + e); } |