Updates per Jeroen van Erp.

This commit is contained in:
David Solin
2016-08-16 09:17:30 -05:00
parent 791f112752
commit 4183776adb

View File

@@ -139,7 +139,7 @@ public class SSHClient
/** {@code ssh-connection} service */ /** {@code ssh-connection} service */
protected final Connection conn; protected final Connection conn;
private List<LocalPortForwarder> forwarders; private final List<LocalPortForwarder> forwarders = new ArrayList<LocalPortForwarder>();
/** Default constructor. Initializes this object using {@link DefaultConfig}. */ /** Default constructor. Initializes this object using {@link DefaultConfig}. */
public SSHClient() { public SSHClient() {
@@ -433,15 +433,14 @@ public class SSHClient
@Override @Override
public void disconnect() public void disconnect()
throws IOException { throws IOException {
if (forwarders != null) { for (LocalPortForwarder forwarder : forwarders) {
for (LocalPortForwarder forwarder : forwarders) { try {
try { forwarder.close();
forwarder.close(); } catch (IOException e) {
} catch (IOException e) { log.warn("Error closing forwarder", e);
log.warn("Error closing forwarder", e);
}
} }
} }
forwarders.clear();
trans.disconnect(); trans.disconnect();
super.disconnect(); super.disconnect();
} }
@@ -659,9 +658,6 @@ public class SSHClient
*/ */
public LocalPortForwarder newLocalPortForwarder(LocalPortForwarder.Parameters parameters, public LocalPortForwarder newLocalPortForwarder(LocalPortForwarder.Parameters parameters,
ServerSocket serverSocket) { ServerSocket serverSocket) {
if (forwarders == null) {
forwarders = new ArrayList<LocalPortForwarder>();
}
LocalPortForwarder forwarder = new LocalPortForwarder(conn, parameters, serverSocket); LocalPortForwarder forwarder = new LocalPortForwarder(conn, parameters, serverSocket);
forwarders.add(forwarder); forwarders.add(forwarder);
return forwarder; return forwarder;