ignore any sendmsg() errors

--HG--
branch : fastopen
This commit is contained in:
Matt Johnston 2015-02-26 23:43:12 +08:00
parent 46845fd3e8
commit 2a90c1ca7e

View File

@ -103,8 +103,10 @@ static void connect_try_next(struct dropbear_progress_connection *c) {
message.msg_iov = packet_queue_to_iovec(c->writequeue, &iovlen);
message.msg_iovlen = iovlen;
res = sendmsg(c->sock, &message, MSG_FASTOPEN);
if (res < 0 && errno == EOPNOTSUPP) {
TRACE(("Fastopen not supported"));
if (res < 0) {
/* Not entirely sure which kind of errors are normal - 2.6.32 seems to
return EPIPE for any (nonblocking?) sendmsg(). just fall back */
TRACE(("sendmsg tcp_fastopen failed, falling back. %s", strerror(errno)));
/* No kernel MSG_FASTOPEN support. Fall back below */
fastopen = 0;
/* Set to NULL to avoid trying again */