diff --git a/src/main/java/net/schmizz/sshj/connection/channel/AbstractChannel.java b/src/main/java/net/schmizz/sshj/connection/channel/AbstractChannel.java index bccb8e94..8fc5c3d1 100644 --- a/src/main/java/net/schmizz/sshj/connection/channel/AbstractChannel.java +++ b/src/main/java/net/schmizz/sshj/connection/channel/AbstractChannel.java @@ -83,7 +83,7 @@ public abstract class AbstractChannel /** Channel open event */ protected final Event open; /** Channel close event */ - private final Event close; + protected final Event close; /* Access to these fields should be synchronized using this object */ private boolean eofSent; @@ -267,6 +267,11 @@ public abstract class AbstractChannel } } + public void join() + throws ConnectionException { + close.await(); + } + protected synchronized void sendClose() throws TransportException { try { diff --git a/src/main/java/net/schmizz/sshj/connection/channel/Channel.java b/src/main/java/net/schmizz/sshj/connection/channel/Channel.java index 420bb2ab..6ce9d787 100644 --- a/src/main/java/net/schmizz/sshj/connection/channel/Channel.java +++ b/src/main/java/net/schmizz/sshj/connection/channel/Channel.java @@ -135,4 +135,7 @@ public interface Channel */ void setAutoExpand(boolean autoExpand); + void join() + throws ConnectionException; + }