mirror of
https://github.com/hierynomus/sshj.git
synced 2025-12-06 23:30:55 +03:00
Make disconnect() an operation that can be repeated without side-effects beyond the first call.
This commit is contained in:
@@ -362,7 +362,6 @@ public class SSHClient
|
|||||||
@Override
|
@Override
|
||||||
public void disconnect()
|
public void disconnect()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
assert isConnected();
|
|
||||||
trans.disconnect();
|
trans.disconnect();
|
||||||
super.disconnect();
|
super.disconnect();
|
||||||
assert !isConnected();
|
assert !isConnected();
|
||||||
|
|||||||
@@ -381,9 +381,9 @@ public final class TransportImpl
|
|||||||
public void disconnect(DisconnectReason reason, String message) {
|
public void disconnect(DisconnectReason reason, String message) {
|
||||||
close.lock();
|
close.lock();
|
||||||
try {
|
try {
|
||||||
disconnectListener.notifyDisconnect(reason);
|
|
||||||
getService().notifyError(new TransportException(reason, "Disconnected"));
|
|
||||||
if (!close.isSet()) {
|
if (!close.isSet()) {
|
||||||
|
disconnectListener.notifyDisconnect(reason);
|
||||||
|
getService().notifyError(new TransportException(reason, "Disconnected"));
|
||||||
sendDisconnect(reason, message);
|
sendDisconnect(reason, message);
|
||||||
finishOff();
|
finishOff();
|
||||||
close.set();
|
close.set();
|
||||||
|
|||||||
Reference in New Issue
Block a user