summaryrefslogtreecommitdiffhomepage
path: root/common-session.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2015-02-18 22:46:15 +0800
committerMatt Johnston <matt@ucc.asn.au>2015-02-18 22:46:15 +0800
commit755c1458f0197d4da1dcb86ac832a8ffa8d02b27 (patch)
treecebef8bd66e3998f615939be9e6a4e3f78f3b255 /common-session.c
parent8795d733ecd27ef7aa1cc5d9e68b5ecb5a90f64e (diff)
async connections working
--HG-- branch : fastopen
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);