jdk/test/sun/net/ftp/FtpURL.java
changeset 6115 7c523cf2bc8a
parent 5506 202f599c92aa
child 7668 d4a77089c587
--- a/jdk/test/sun/net/ftp/FtpURL.java	Tue Jul 20 10:41:50 2010 -0400
+++ b/jdk/test/sun/net/ftp/FtpURL.java	Wed Jul 21 13:29:26 2010 +0100
@@ -438,8 +438,9 @@
                     client = server.accept();
                     (new FtpServerHandler(client)).run();
                 }
-                server.close();
             } catch(Exception e) {
+            } finally {
+                try { server.close(); } catch (IOException unused) {}
             }
         }
     }
@@ -448,10 +449,9 @@
     }
 
     public FtpURL() throws Exception {
-        FtpServer server = null;
+        FtpServer server = new FtpServer(0);
         BufferedReader in = null;
         try {
-            server = new FtpServer(0);
             server.start();
             int port = server.getPort();
 
@@ -497,17 +497,14 @@
                 throw new RuntimeException("Incorrect filename received");
             if (! "/usr".equals(server.pwd()))
                 throw new RuntimeException("Incorrect pwd received");
-            in.close();
             // We're done!
 
         } catch (Exception e) {
-            try {
-                in.close();
-                server.terminate();
-                server.interrupt();
-            } catch(Exception ex) {
-            }
             throw new RuntimeException("FTP support error: " + e.getMessage());
+        } finally {
+            try { in.close(); } catch (IOException unused) {}
+            server.terminate();
+            server.server.close();
         }
     }
 }