summaryrefslogtreecommitdiff
path: root/librabbitmq/amqp_socket.c
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonygarnockjones@gmail.com>2010-07-02 17:05:57 +1200
committerTony Garnock-Jones <tonygarnockjones@gmail.com>2010-07-02 17:05:57 +1200
commitd2fb070fe6e36075de389f59729ff4b022eed9a0 (patch)
treee1e120173c152408192fea01522d079d03e15f38 /librabbitmq/amqp_socket.c
parent7478207a21fc2e1e7aea5306762578f2992ccb42 (diff)
downloadrabbitmq-c-github-ask-d2fb070fe6e36075de389f59729ff4b022eed9a0.tar.gz
Turn on TCP_NODELAY by default.
Diffstat (limited to 'librabbitmq/amqp_socket.c')
-rw-r--r--librabbitmq/amqp_socket.c10
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);