diff options
author | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-07-02 17:05:57 +1200 |
---|---|---|
committer | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-07-02 17:05:57 +1200 |
commit | d2fb070fe6e36075de389f59729ff4b022eed9a0 (patch) | |
tree | e1e120173c152408192fea01522d079d03e15f38 | |
parent | 7478207a21fc2e1e7aea5306762578f2992ccb42 (diff) | |
download | rabbitmq-c-github-ask-d2fb070fe6e36075de389f59729ff4b022eed9a0.tar.gz |
Turn on TCP_NODELAY by default.
-rw-r--r-- | librabbitmq/amqp_socket.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/librabbitmq/amqp_socket.c b/librabbitmq/amqp_socket.c index a78056b..d62f744 100644 --- a/librabbitmq/amqp_socket.c +++ b/librabbitmq/amqp_socket.c @@ -65,6 +65,7 @@ #include <sys/socket.h> #include <netdb.h> #include <netinet/in.h> +#include <netinet/tcp.h> #include <assert.h> @@ -89,6 +90,15 @@ int amqp_open_socket(char const *hostname, return -errno; } + { + int one = 1; + if (setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)) < 0) { + int result = -errno; + close(sockfd); + return result; + } + } + if (connect(sockfd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { int result = -errno; close(sockfd); |