Author: gnodet
Date: Sat Apr 18 07:21:09 2009
New Revision: 766257
URL: http://svn.apache.org/viewvc?rev=766257&view=rev
Log:
SSHD-20: Avoid race conditions when creating channels
Modified:
mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
Modified:
mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
URL:
http://svn.apache.org/viewvc/mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java?rev=766257&r1=766256&r2=766257&view=diff
==============================================================================
---
mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
(original)
+++
mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java
Sat Apr 18 07:21:09 2009
@@ -332,14 +332,16 @@
}
}
});
- shell.start(env);
- shellIn = new LoggingFilterOutputStream(shellIn, "IN: ", log);
if (wantReply) {
buffer =
session.createBuffer(SshConstants.Message.SSH_MSG_CHANNEL_SUCCESS);
buffer.putInt(id);
session.writePacket(buffer);
}
+
+ shell.start(env);
+ shellIn = new LoggingFilterOutputStream(shellIn, "IN: ", log);
+
return true;
}
@@ -387,8 +389,6 @@
}
}
});
- // Launch command
- command.start();
if (wantReply) {
buffer =
session.createBuffer(SshConstants.Message.SSH_MSG_CHANNEL_SUCCESS);
@@ -396,6 +396,9 @@
session.writePacket(buffer);
}
+ // Launch command
+ command.start();
+
return true;
}