mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #40 from overleaf/msw-delete-temp-files
Small code improvements around temporary files
This commit is contained in:
commit
e81931ef35
2 changed files with 26 additions and 1 deletions
|
@ -38,4 +38,23 @@ public class DeletingFileInputStream extends FileInputStream {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* We shouldn't rely on this for correctness!
|
||||
*/
|
||||
@Override
|
||||
protected void finalize() throws IOException {
|
||||
try {
|
||||
super.finalize();
|
||||
} finally {
|
||||
if(file != null) {
|
||||
Log.warn("File open at finalization time: {}", file.getCanonicalPath());
|
||||
try {
|
||||
close();
|
||||
} catch (IOException e) {
|
||||
Log.error("Failed to delete file", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,6 +42,9 @@ public class Tar {
|
|||
/* Closes target */
|
||||
try (OutputStream bzip2 = new BZip2CompressorOutputStream(target)) {
|
||||
tarTo(fileOrDir, bzip2);
|
||||
} catch (IOException e) {
|
||||
tmp.delete();
|
||||
throw e;
|
||||
}
|
||||
if (sizePtr != null) {
|
||||
sizePtr[0] = tmp.length();
|
||||
|
@ -68,7 +71,10 @@ public class Tar {
|
|||
tmp.deleteOnExit();
|
||||
try (FileOutputStream target = new FileOutputStream(tmp)) {
|
||||
tarTo(fileOrDir, target);
|
||||
return new FileInputStream(tmp);
|
||||
return new DeletingFileInputStream(tmp);
|
||||
} catch (IOException e) {
|
||||
tmp.delete();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue