diff options
-rw-r--r-- | src/main/java/org/openslx/filetransfer/Downloader.java | 7 | ||||
-rw-r--r-- | src/main/java/org/openslx/filetransfer/Uploader.java | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/filetransfer/Downloader.java b/src/main/java/org/openslx/filetransfer/Downloader.java index ffa7751..2d99c2a 100644 --- a/src/main/java/org/openslx/filetransfer/Downloader.java +++ b/src/main/java/org/openslx/filetransfer/Downloader.java @@ -290,6 +290,7 @@ public class Downloader this.close(); } catch ( Exception e ) { e.printStackTrace(); + this.close(); return false; } return true; @@ -330,6 +331,7 @@ public class Downloader e.printStackTrace(); log.info( "Reading RANGE " + getStartOfRange() + ":" + getEndOfRange() + " of file failed..." ); + this.close(); return false; } finally { if (file != null) { @@ -372,7 +374,10 @@ public class Downloader public void close() { try { - this.satelliteSocket.close(); + if (satelliteSocket != null) { + this.satelliteSocket.close(); + satelliteSocket = null; + } if (dataFromServer != null) dataFromServer.close(); if (dataToServer != null) dataToServer.close(); } catch ( IOException e ) { diff --git a/src/main/java/org/openslx/filetransfer/Uploader.java b/src/main/java/org/openslx/filetransfer/Uploader.java index 7312600..716c26b 100644 --- a/src/main/java/org/openslx/filetransfer/Uploader.java +++ b/src/main/java/org/openslx/filetransfer/Uploader.java @@ -378,7 +378,10 @@ public class Uploader public void close() { try { - this.satelliteSocket.close(); + if (satelliteSocket != null) { + this.satelliteSocket.close(); + satelliteSocket = null; + } if (dataFromServer != null) dataFromServer.close(); if (dataToServer != null) dataToServer.close(); } catch ( IOException e ) { |