summaryrefslogtreecommitdiffhomepage
path: root/common-session.c
diff options
context:
space:
mode:
Diffstat (limited to 'common-session.c')
-rw-r--r--common-session.c7
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);