8175131: sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout
authorrobm
Wed, 24 May 2017 17:25:45 +0100
changeset 45333 fd3fdfe96bb4
parent 45332 9c9e51c44638
child 45334 da85c75f472e
8175131: sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout Reviewed-by: rriggs, msheppar
jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPChannel.java
--- a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPChannel.java	Tue May 23 14:34:45 2017 -0700
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPChannel.java	Wed May 24 17:25:45 2017 +0100
@@ -296,11 +296,19 @@
                     out.flush();
                 }
             } catch (IOException e) {
-                if (e instanceof RemoteException)
+                if (e instanceof RemoteException) {
                     throw (RemoteException) e;
-                else
+                } else {
+                    if (conn != null
+                            && e instanceof java.net.SocketTimeoutException)
+                    {
+                        try {
+                            conn.close();
+                        } catch (Exception ex) {}
+                    }
                     throw new ConnectIOException(
                         "error during JRMP connection establishment", e);
+                }
             }
         } else {
             try {