Updated Branches: refs/heads/master e05ade90c -> f549a71bc
[SSHD-243] The sshd client always send to channel 0 Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/f31ac81b Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/f31ac81b Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/f31ac81b Branch: refs/heads/master Commit: f31ac81b98e2b7b7468c2a39fcd4eceed8c533c1 Parents: e05ade9 Author: Guillaume Nodet <[email protected]> Authored: Thu Jul 25 21:32:43 2013 +0200 Committer: Guillaume Nodet <[email protected]> Committed: Thu Jul 25 21:32:43 2013 +0200 ---------------------------------------------------------------------- .../org/apache/sshd/client/channel/ChannelSession.java | 10 +++++----- .../org/apache/sshd/common/session/AbstractSession.java | 6 ++---- sshd-core/src/test/java/org/apache/sshd/LoadTest.java | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f31ac81b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java index 3166666..d6c9124 100644 --- a/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java +++ b/sshd-core/src/main/java/org/apache/sshd/client/channel/ChannelSession.java @@ -42,6 +42,11 @@ public class ChannelSession extends AbstractClientChannel { } public OpenFuture open() throws IOException { + return internalOpen(); + } + + @Override + protected void doOpen() throws IOException { invertedIn = new ChannelOutputStream(this, remoteWindow, log, SshConstants.Message.SSH_MSG_CHANNEL_DATA); if (out == null) { ChannelPipedInputStream pis = new ChannelPipedInputStream(localWindow); @@ -55,11 +60,6 @@ public class ChannelSession extends AbstractClientChannel { err = pos; invertedErr = pis; } - return internalOpen(); - } - - @Override - protected void doOpen() throws IOException { if (in != null) { streamPumper = new Thread("ClientInputStreamPump") { @Override http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f31ac81b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java index ad83261..f86e787 100644 --- a/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java +++ b/sshd-core/src/main/java/org/apache/sshd/common/session/AbstractSession.java @@ -100,7 +100,7 @@ public abstract class AbstractSession implements Session { /** Map of channels keyed by the identifier */ protected final Map<Integer, Channel> channels = new ConcurrentHashMap<Integer, Channel>(); /** Next channel identifier */ - protected int nextChannelId; + protected static AtomicInteger nextChannelId = new AtomicInteger(100); /** Session listener */ protected final List<SessionListener> listeners = new ArrayList<SessionListener>(); @@ -983,9 +983,7 @@ public abstract class AbstractSession implements Session { protected int getNextChannelId() { - synchronized (channels) { - return nextChannelId++; - } + return nextChannelId.incrementAndGet(); } public int registerChannel(Channel channel) throws IOException { http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/f31ac81b/sshd-core/src/test/java/org/apache/sshd/LoadTest.java ---------------------------------------------------------------------- diff --git a/sshd-core/src/test/java/org/apache/sshd/LoadTest.java b/sshd-core/src/test/java/org/apache/sshd/LoadTest.java index 299b8e3..2fd30a7 100644 --- a/sshd-core/src/test/java/org/apache/sshd/LoadTest.java +++ b/sshd-core/src/test/java/org/apache/sshd/LoadTest.java @@ -123,7 +123,7 @@ public class LoadTest { ByteArrayOutputStream err = new ByteArrayOutputStream(); channel.setOut(out); channel.setErr(err); - channel.open(); + channel.open().await(); OutputStream pipedIn = channel.getInvertedIn(); msg += "\nexit\n";
