From 2a90c1ca7ed415811b2e063e7c62e15cdc7b2a4b Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Thu, 26 Feb 2015 23:43:12 +0800 Subject: [PATCH] ignore any sendmsg() errors --HG-- branch : fastopen --- netio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/netio.c b/netio.c index 5b97e4d..d1a05f3 100644 --- a/netio.c +++ b/netio.c @@ -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 */