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";

Reply via email to