You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2009/04/18 09:21:09 UTC

svn commit: r766257 - /mina/sshd/trunk/src/main/java/org/apache/sshd/server/channel/ChannelSession.java

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