summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2015-02-27 00:02:48 +0800
committerMatt Johnston <matt@ucc.asn.au>2015-02-27 00:02:48 +0800
commit0ae00730181d8645dd9f1df1205ca096eda5f6f0 (patch)
tree14981db070967e0e58822dcb0d2ea3ca5debcac1
parentef04e65bdc3d5979ac1813878f0b0f62990f8257 (diff)
downloaddropbear-0ae00730181d8645dd9f1df1205ca096eda5f6f0.tar.gz
EINPROGRESS for sendmsg() means it's working OK
-rw-r--r--netio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/netio.c b/netio.c
index d1a05f3..9aa7ae5 100644
--- a/netio.c
+++ b/netio.c
@@ -103,7 +103,7 @@ 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) {
+ if (res < 0 && errno != EINPROGRESS) {
/* 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)));