From 7e524f5c6ff2ea285f83372221ababf70c7e8572 Mon Sep 17 00:00:00 2001 From: Shikhar Bhushan Date: Sun, 8 Jan 2012 10:20:46 +0000 Subject: [PATCH] Make disconnect() an operation that can be repeated without side-effects beyond the first call. --- src/main/java/net/schmizz/sshj/SSHClient.java | 1 - src/main/java/net/schmizz/sshj/transport/TransportImpl.java | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/schmizz/sshj/SSHClient.java b/src/main/java/net/schmizz/sshj/SSHClient.java index 22343258..3fb8cfd1 100644 --- a/src/main/java/net/schmizz/sshj/SSHClient.java +++ b/src/main/java/net/schmizz/sshj/SSHClient.java @@ -362,7 +362,6 @@ public class SSHClient @Override public void disconnect() throws IOException { - assert isConnected(); trans.disconnect(); super.disconnect(); assert !isConnected(); diff --git a/src/main/java/net/schmizz/sshj/transport/TransportImpl.java b/src/main/java/net/schmizz/sshj/transport/TransportImpl.java index 054ce034..7e67710b 100644 --- a/src/main/java/net/schmizz/sshj/transport/TransportImpl.java +++ b/src/main/java/net/schmizz/sshj/transport/TransportImpl.java @@ -381,9 +381,9 @@ public final class TransportImpl public void disconnect(DisconnectReason reason, String message) { close.lock(); try { - disconnectListener.notifyDisconnect(reason); - getService().notifyError(new TransportException(reason, "Disconnected")); if (!close.isSet()) { + disconnectListener.notifyDisconnect(reason); + getService().notifyError(new TransportException(reason, "Disconnected")); sendDisconnect(reason, message); finishOff(); close.set();