summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2016-01-12 09:36:27 -0800
committerAlan Antonuk <alan.antonuk@gmail.com>2016-01-12 09:36:27 -0800
commita0fa4099048c2d6d05ff67597193759a8bd69aba (patch)
treeb775df76436d56df0bbf7b7718bcfe55eabe5274
parentdc667f47a4e3355740260371390b023160e82909 (diff)
downloadrabbitmq-c-cygwin_nopush.tar.gz
Lib: don't use TCP_NOPUSH under cygwincygwin_nopush
Cygwin defines TCP_NOPUSH, but fails with an error when you try to use it. Disable it on Cygwin. Fixes #335
-rw-r--r--librabbitmq/amqp_tcp_socket.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/librabbitmq/amqp_tcp_socket.c b/librabbitmq/amqp_tcp_socket.c
index 71de2ef..004f3bb 100644
--- a/librabbitmq/amqp_tcp_socket.c
+++ b/librabbitmq/amqp_tcp_socket.c
@@ -69,7 +69,9 @@ amqp_tcp_socket_send(void *base, const void *buf, size_t len, int flags)
if (flags & AMQP_SF_MORE) {
flagz |= MSG_MORE;
}
-#elif defined(TCP_NOPUSH)
+ /* Cygwin defines TCP_NOPUSH, but trying to use it will return not
+ * implemented. Disable it here. */
+#elif defined(TCP_NOPUSH) && !defined(__CYGWIN__)
if (flags & AMQP_SF_MORE && !(self->state & AMQP_SF_MORE)) {
int one = 1;
res = setsockopt(self->sockfd, IPPROTO_TCP, TCP_NOPUSH, &one, sizeof(one));