# HG changeset patch # User Matt Johnston # Date 1424966568 -28800 # Node ID 9cec9ed503bb5b92de80fe4cf874b26a3bf4f5ef # Parent e6c4cd0510d957af85dba277d1345f8174dc8eff EINPROGRESS for sendmsg() means it's working OK diff -r e6c4cd0510d9 -r 9cec9ed503bb netio.c --- a/netio.c Thu Feb 26 23:43:12 2015 +0800 +++ b/netio.c Fri Feb 27 00:02:48 2015 +0800 @@ -103,7 +103,7 @@ 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)));