diff options
Diffstat (limited to 'dozentenmodulserver/src')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java index 7c6ea310..b7daf7d9 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java @@ -373,9 +373,6 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC public synchronized void cancel() { if (state != TransferState.FINISHED && state != TransferState.ERROR) { state = TransferState.ERROR; - if (!isRepairUpload() && tmpFileName.exists()) { - FileSystem.deleteAsync(tmpFileName); - } } synchronized (downloads) { for (Downloader download : downloads) { @@ -383,6 +380,10 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC } } lastActivityTime.set(0); + Util.safeClose(tmpFileHandle); + if (!isRepairUpload() && tmpFileName.exists()) { + FileSystem.deleteAsync(tmpFileName); + } } public boolean isRepairUpload() { @@ -579,8 +580,9 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC protected void finalize() { try { Util.safeClose(tmpFileHandle); - if (tmpFileName.exists()) - tmpFileName.delete(); + if (tmpFileName.exists()) { + FileSystem.deleteAsync(tmpFileName); + } } catch (Throwable t) { } } |