Mercurial > dropbear
diff netio.c @ 1035:8ed1d37e75a6 fastopen
get rid of some unnecessary code
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 21 Feb 2015 00:43:32 +0800 |
parents | 107b013e9d9d |
children | e6c4cd0510d9 |
line wrap: on
line diff
--- a/netio.c Fri Feb 20 23:43:59 2015 +0800 +++ b/netio.c Sat Feb 21 00:43:32 2015 +0800 @@ -71,13 +71,9 @@ int res = 0; int fastopen = 0; #ifdef DROPBEAR_TCP_FAST_OPEN - struct msghdr message; + struct msghdr message; #endif - if (!c->res_iter) { - return; - } - for (r = c->res_iter; r; r = r->ai_next) { assert(c->sock == -1); @@ -88,6 +84,7 @@ } ses.maxfd = MAX(ses.maxfd, c->sock); + set_sock_nodelay(c->sock); setnonblocking(c->sock); #if defined(__linux__) && defined(TCP_DEFER_ACCEPT) @@ -114,9 +111,7 @@ c->writequeue = NULL; } m_free(message.msg_iov); - if (res > 0) { - packet_queue_consume(c->writequeue, res); - } + packet_queue_consume(c->writequeue, res); } #endif @@ -126,10 +121,12 @@ } if (res < 0 && errno != EINPROGRESS) { + /* failure */ close(c->sock); c->sock = -1; continue; } else { + /* new connection was successful, wait for it to complete */ break; } } @@ -139,28 +136,6 @@ } else { c->res_iter = NULL; } - - if (c->sock >= 0 || (errno == EINPROGRESS)) { - /* Success */ - set_sock_nodelay(c->sock); - return; - } else { - if (!c->res_iter) - { - - } - /* XXX - returning error message through */ -#if 0 - /* Failed */ - if (errstring != NULL && *errstring == NULL) { - int len; - len = 20 + strlen(strerror(err)); - *errstring = (char*)m_malloc(len); - snprintf(*errstring, len, "Error connecting: %s", strerror(err)); - } - TRACE(("Error connecting: %s", strerror(err))) -#endif - } } /* Connect via TCP to a host. */