diff options
author | Matt Johnston <matt@ucc.asn.au> | 2015-03-01 23:26:42 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2015-03-01 23:26:42 +0800 |
commit | 9e66b5a9b1db60ca298eb76de413f2ecbeae2556 (patch) | |
tree | ece79a8943cfcf1360d6657788b383a5b7abda25 /common-session.c | |
parent | f782cf375a360eff337f3e8ac8e0d61dc17f80a9 (diff) |
reword comment for clarity
--HG--
branch : nocircbuffer
Diffstat (limited to 'common-session.c')
-rw-r--r-- | common-session.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/common-session.c b/common-session.c index be8f776..164dc85 100644 --- a/common-session.c +++ b/common-session.c @@ -152,8 +152,10 @@ void session_loop(void(*loophandler)()) { FD_ZERO(&readfd); dropbear_assert(ses.payload == NULL); - /* during initial setup we flush out the KEXINIT packet before - * attempting to read the remote version string, which might block */ + /* We delay reading from the input socket during initial setup until + after we have written out our initial KEXINIT packet (empty writequeue). + This means our initial packet can be in-flight while we're doing a blocking + read for the remote ident */ if (ses.sock_in != -1 && (ses.remoteident || isempty(&ses.writequeue))) { FD_SET(ses.sock_in, &readfd); } |