diff options
Diffstat (limited to 'common-session.c')
-rw-r--r-- | common-session.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/common-session.c b/common-session.c index 26ef147..6ca7f54 100644 --- a/common-session.c +++ b/common-session.c @@ -167,6 +167,9 @@ void session_loop(void(*loophandler)()) { /* set up for channels which can be read/written */ setchannelfds(&readfd, &writefd); + /* Pending connections to test */ + set_connect_fds(&writefd); + val = select(ses.maxfd+1, &readfd, &writefd, NULL, &timeout); if (exitflag) { @@ -214,11 +217,13 @@ void session_loop(void(*loophandler)()) { process_packet(); } } - + /* if required, flush out any queued reply packets that were being held up during a KEX */ maybe_flush_reply_queue(); + handle_connect_fds(&writefd); + /* process pipes etc for the channels, ses.dataallowed == 0 * during rekeying ) */ channelio(&readfd, &writefd); |