Ensure DirectoryStream is closed promptly
From the javadoc for Files.list: "The returned stream encapsulates a DirectoryStream. If timely disposal of file system resources is required, the try-with-resources construct should be used to ensure that the stream's close method is invoked after the stream operations are completed." This is the only call to Files#newDirectoryStream that is not already in a try-with-resources. Change-Id: I91e6c56b5d74e8435457ad6ed9e6b4b24d2aa14e
This commit is contained in:
parent
cdc88247b9
commit
1c16ea4601
|
@ -967,19 +967,19 @@ private void deleteOrphans() {
|
|||
private void deleteTempPacksIdx() {
|
||||
Path packDir = repo.getObjectDatabase().getPackDirectory().toPath();
|
||||
Instant threshold = Instant.now().minus(1, ChronoUnit.DAYS);
|
||||
try {
|
||||
Files.newDirectoryStream(packDir, "gc_*_tmp") //$NON-NLS-1$
|
||||
.forEach(t -> {
|
||||
try {
|
||||
Instant lastModified = Files.getLastModifiedTime(t)
|
||||
.toInstant();
|
||||
if (lastModified.isBefore(threshold)) {
|
||||
Files.deleteIfExists(t);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOG.error(e.getMessage(), e);
|
||||
}
|
||||
});
|
||||
try (DirectoryStream<Path> stream =
|
||||
Files.newDirectoryStream(packDir, "gc_*_tmp")) { //$NON-NLS-1$
|
||||
stream.forEach(t -> {
|
||||
try {
|
||||
Instant lastModified = Files.getLastModifiedTime(t)
|
||||
.toInstant();
|
||||
if (lastModified.isBefore(threshold)) {
|
||||
Files.deleteIfExists(t);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOG.error(e.getMessage(), e);
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
LOG.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue